Bạn đang học lập trình Python nhưng chưa biết bắt đầu từ đâu? Bài viết này tổng hợp các bài tập Python cho người mới bắt đầu với lời giải chi tiết, giúp bạn rèn luyện tư duy thuật toán và làm quen với cú pháp Python một cách hiệu quả. Nếu bạn cần lộ trình học Python đầy đủ hơn, hãy tham khảo hướng dẫn chi tiết từ con số 0.

Python là gì và tại sao nên học?

Python là ngôn ngữ lập trình bậc cao, mã nguồn mở, được thiết kế với triết lý “dễ đọc, dễ viết”. Guido van Rossum tạo ra Python và phát hành lần đầu năm 1991. Ngôn ngữ này nổi bật với cú pháp gần gũi với ngôn ngữ tự nhiên, giúp người mới tiếp cận lập trình dễ dàng hơn.

Python được ứng dụng rộng rãi trong:

  • Phát triển web: Xây dựng backend với Django, Flask
  • Khoa học dữ liệu: Phân tích dữ liệu với Pandas, NumPy
  • Machine Learning: Xây dựng mô hình AI với TensorFlow, PyTorch
  • Tự động hóa: Viết script xử lý tác vụ lặp đi lặp lại
  • Phát triển game: Tạo game 2D với Pygame

bai-tap-python-1bai-tap-python-1

Cấu trúc bài tập Python chuẩn

Một bài tập Python hoàn chỉnh thường bao gồm:

Yêu cầu bài toán: Mô tả rõ ràng input, output và logic xử lý cần thực hiện.

Gợi ý tiếp cận: Hướng dẫn cách phân tích bài toán và lựa chọn cấu trúc dữ liệu phù hợp.

Lời giải mẫu: Code Python hoàn chỉnh kèm giải thích từng bước.

Test cases: Các trường hợp kiểm thử để xác minh tính đúng đắn của code.

Bài tập được phân loại theo độ khó tăng dần, từ cơ bản (biến, vòng lặp, hàm) đến nâng cao (thuật toán, cấu trúc dữ liệu phức tạp, lập trình hướng đối tượng).

Phân loại mức độ bài tập

Cấp độ 1: Cơ bản

Dành cho người mới làm quen với Python. Tập trung vào cú pháp cơ bản: biến, kiểu dữ liệu, toán tử, câu lệnh điều kiện, vòng lặp đơn giản.

Cấp độ 2: Trung bình

Yêu cầu hiểu về hàm, list, dictionary, string manipulation và xử lý ngoại lệ cơ bản.

Cấp độ 3: Nâng cao

Đòi hỏi tư duy thuật toán, xử lý cấu trúc dữ liệu phức tạp, đệ quy và tối ưu hóa code. Sau khi hoàn thành các bài tập cơ bản và trung bình, bạn có thể thử sức với bài tập Python nâng cao để phát triển kỹ năng lập trình chuyên sâu hơn.

bai-tap-python-3bai-tap-python-3

17 bài tập Python cấp độ 1

Bài 1: In “Hello, World!”

print("Hello, World!")

Bài 2: Nhập và in số

number = input("Nhập một số: ") print(f"Bạn đã nhập: {number}")

Bài 3: Kiểm tra số chẵn lẻ

number = int(input("Nhập một số: ")) if number % 2 == 0: print("Số chẵn") else: print("Số lẻ")

Bài 4: Tính tổng hai số

a = int(input("Nhập số thứ nhất: ")) b = int(input("Nhập số thứ hai: ")) print(f"Tổng: {a + b}")

Bài 5: Tính hiệu hai số

a = int(input("Nhập số thứ nhất: ")) b = int(input("Nhập số thứ hai: ")) print(f"Hiệu: {a - b}")

bai-tap-python-4bai-tap-python-4

Bài 6: Tính tích hai số

a = int(input("Nhập số thứ nhất: ")) b = int(input("Nhập số thứ hai: ")) print(f"Tích: {a b}")

Bài 7: Tính thương hai số

a = int(input("Nhập số thứ nhất: ")) b = int(input("Nhập số thứ hai: ")) if b != 0: print(f"Thương: {a // b}") else: print("Không thể chia cho 0")

Bài 8: Tính phần dư

a = int(input("Nhập số thứ nhất: ")) b = int(input("Nhập số thứ hai: ")) print(f"Phần dư: {a % b}")

Bài 9: Kiểm tra số nguyên tố

def is_prime(n): if n < 2: return False for i in range(2, int(n0.5) + 1): if n % i == 0: return False return True number = int(input("Nhập một số: ")) print("Là số nguyên tố" if is_prime(number) else "Không phải số nguyên tố")

Bài 10: In số nguyên tố nhỏ hơn 100

for num in range(2, 100): if all(num % i != 0 for i in range(2, int(num0.5) + 1)): print(num, end=" ")

Bài 11: In bảng cửu chương

for i in range(1, 10): for j in range(1, 10): print(f"{i} x {j} = {ij}") print()

Bài 12: Tính giai thừa

def factorial(n): return 1 if n == 0 else n factorial(n - 1) number = int(input("Nhập một số: ")) print(f"Giai thừa: {factorial(number)}")

Bài 13: Nhập tên và in chào

name = input("Nhập tên của bạn: ") print(f"Xin chào, {name}!")

Bài 14: Tính tổng hai số thực

a = float(input("Nhập số thứ nhất: ")) b = float(input("Nhập số thứ hai: ")) print(f"Tổng: {a + b}")

Bài 15: So sánh hai số

a = float(input("Nhập số thứ nhất: ")) b = float(input("Nhập số thứ hai: ")) if a > b: print(f"{a} lớn hơn {b}") elif a < b: print(f"{a} nhỏ hơn {b}") else: print(f"{a} bằng {b}")

Bài 16: Tìm số chẵn đầu tiên trong list

def find_first_even(numbers): for num in numbers: if num % 2 == 0: return num return None numbers = [1, 3, 5, 8, 9, 10] result = find_first_even(numbers) print(f"Số chẵn đầu tiên: {result}" if result else "Không có số chẵn")

Bài 17: Tìm số lớn nhất trong list

numbers = [3, 7, 2, 9, 1, 5] print(f"Số lớn nhất: {max(numbers)}")

11 bài tập Python cấp độ 2

Bài 1: Tính tổng số chẵn từ 1 đến n

def sum_even(n): return sum(i for i in range(2, n+1, 2)) n = int(input("Nhập n: ")) print(f"Tổng số chẵn: {sum_even(n)}")

Bài 2: Kiểm tra số nguyên tố (tối ưu)

def is_prime(n): if n < 2: return False if n == 2: return True if n % 2 == 0: return False for i in range(3, int(n0.5) + 1, 2): if n % i == 0: return False return True number = int(input("Nhập số: ")) print("Là số nguyên tố" if is_prime(number) else "Không phải số nguyên tố")

Bài 3: Chuyển đổi nhiệt độ

def convert_temp(): choice = input("1. C sang Fn2. F sang CnChọn: ") if choice == '1': c = float(input("Nhập độ C: ")) print(f"{c}°C = {c 9/5 + 32}°F") elif choice == '2': f = float(input("Nhập độ F: ")) print(f"{f}°F = {(f - 32) 5/9}°C") convert_temp()

bai-tap-python-5bai-tap-python-5

Bài 4: Xoay ma trận 90 độ

def rotate_matrix(matrix): return [[matrix[j][i] for j in range(len(matrix)-1, -1, -1)] for i in range(len(matrix[0]))] matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] rotated = rotate_matrix(matrix) for row in rotated: print(row)

Bài 5: Kiểm tra chuỗi con

text = "Python là ngôn ngữ tuyệt vời" substring = "ngôn ngữ" print(f"'{substring}' {'có' if substring in text else 'không'} trong chuỗi")

Bài 6: Tìm số lớn thứ hai

def second_largest(numbers): unique = list(set(numbers)) unique.sort(reverse=True) return unique[1] if len(unique) > 1 else None numbers = [5, 3, 9, 1, 7, 6] print(f"Số lớn thứ hai: {second_largest(numbers)}")

Bài 7: Đảo ngược chuỗi

text = "Hello, World!" print(f"Chuỗi đảo ngược: {text[::-1]}")

Bài 8: Đếm ký tự trong chuỗi

text = "Hello, World!" char_count = {} for char in text: char_count[char] = char_count.get(char, 0) + 1 for char, count in char_count.items(): print(f"'{char}': {count} lần")

Bài 9: Tính giai thừa (đệ quy)

def factorial(n): return 1 if n <= 1 else n factorial(n - 1) n = int(input("Nhập số: ")) print(f"Giai thừa của {n}: {factorial(n)}")

Bài 10: Tìm cặp số có tổng bằng target

def find_pairs(arr, target): seen = set() pairs = [] for num in arr: complement = target - num if complement in seen: pairs.append((complement, num)) seen.add(num) return pairs numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] target = 10 print(f"Các cặp có tổng {target}: {find_pairs(numbers, target)}")

Bài 11: Xử lý ngoại lệ khi nhập số

try: number = int(input("Nhập một số: ")) print(f"Bạn đã nhập: {number}") except ValueError: print("Lỗi: Vui lòng nhập số nguyên hợp lệ")

4 bài tập Python cấp độ 3

Bài 1: Đếm số từ trong câu

def count_words(sentence): return len(sentence.split()) text = input("Nhập câu: ") print(f"Số từ: {count_words(text)}")

Bài 2: Tính tổng n số Fibonacci đầu tiên

def fibonacci_sum(n): if n <= 0: return 0 fib = [0, 1] while len(fib) < n: fib.append(fib[-1] + fib[-2]) return sum(fib[:n]) n = int(input("Nhập n: ")) print(f"Tổng {n} số Fibonacci đầu: {fibonacci_sum(n)}")

Bài 3: Kiểm tra chuỗi đối xứng

def is_palindrome(s): s = s.lower().replace(" ", "") return s == s[::-1] text = input("Nhập chuỗi: ") print("Là chuỗi đối xứng" if is_palindrome(text) else "Không phải chuỗi đối xứng")

bai-tap-python-6bai-tap-python-6

Bài 4: Tìm số lớn nhất không vượt giới hạn

def find_max_within_limit(numbers, limit): valid = [n for n in numbers if n <= limit] return max(valid) if valid else None numbers = [10, 25, 15, 30, 5, 20] limit = 25 result = find_max_within_limit(numbers, limit) print(f"Số lớn nhất ≤ {limit}: {result}" if result else "Không có số thỏa mãn")

Các bài tập Python cho người mới bắt đầu này giúp bạn xây dựng nền tảng vững chắc. Hãy thực hành đều đặn, thử nghiệm với các biến thể và đọc code của người khác để nâng cao kỹ năng lập trình. Bạn cũng có thể tải về bài tập Python có lời giải PDF để thực hành thêm với hơn 100 bài tập đa dạng.

Cập nhật lần cuối 15/03/2026 by Hiếu IT

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *