Học Lập Trình Python: Lộ Trình 4 Bước Cho Người Mới Bắt Đầu
Muốn học lập trình Python nhưng chưa biết bắt đầu từ đâu? Bạn chỉ cần đi đúng thứ tự: cài môi trường...
Uyên Hoàng Thị Tố
Đăng ngày 25/10/2026
Bài tập Python giúp bạn nhớ cú pháp lâu hơn nhiều so với chỉ đọc lý thuyết. Bài viết tổng hợp 15 bài tập cơ bản có lời giải, xếp từ dễ đến khó. Bạn gõ code, chạy thử rồi so với đáp án để biết mình sai ở đâu và sửa ngay. Mỗi bài đều có đề, lời giải và ghi chú ngắn cho người mới học.
Đọc xong một bài học, bạn thường hiểu ngay. Nhưng đến lúc tự viết code, đầu óc lại trống rỗng. Khoảng cách đó chỉ thu hẹp khi bạn làm bài tập Python đều đặn.
Mỗi bài buộc bạn dùng đúng kiến thức vừa học. Bạn gặp lỗi, đọc thông báo lỗi và sửa. Đó là cách người mới học lập trình tiến bộ nhanh nhất.
Nếu bạn chưa nắm lộ trình tổng thể, hãy xem bài học lập trình Python trước khi luyện tập.
Làm theo các bước sau cho mỗi bài:
Bước 1: Đọc đề và tự viết lại yêu cầu bằng lời của bạn.
Bước 2: Tự nghĩ hướng giải trong 10 phút, chưa xem đáp án.
Bước 3: Gõ code và chạy thử với ít nhất hai bộ dữ liệu khác nhau.
Bước 4: Xem lời giải mẫu, so sánh và ghi lại chỗ khác biệt.
Bước 5: Đóng đáp án và viết lại bài từ đầu vào hôm sau.
Hãy gõ lại code thay vì sao chép. Việc gõ tay giúp bạn nhớ cú pháp và quen với lỗi thụt đầu dòng.
Nhóm đầu tiên giúp bạn làm quen với input(), print() và các phép tính. Đây là nền tảng cho mọi bài tập Python cơ bản phía sau.
Đề bài: Nhập tên của bạn, sau đó in ra dòng Xin chào, <tên>!.
ten = input("Nhập tên của bạn: ")
print(f"Xin chào, {ten}!")
Đề bài: Nhập chiều dài và chiều rộng, in ra chu vi và diện tích.
dai = float(input("Chiều dài: "))
rong = float(input("Chiều rộng: "))
print("Chu vi:", 2 * (dai + rong))
print("Diện tích:", dai * rong)
Hàm input() luôn trả về chuỗi. Vì vậy bạn phải đổi sang số bằng float() hoặc int() trước khi tính.
Đề bài: Nhập nhiệt độ theo độ C, in ra nhiệt độ theo độ F. Công thức: F = C x 9 / 5 + 32.
c = float(input("Nhiệt độ (độ C): "))
f = c * 9 / 5 + 32
print("Nhiệt độ (độ F):", f)
Đề bài: Cho hai biến a và b. Hoán đổi giá trị của chúng.
a = 5
b = 9
a, b = b, a
print(a, b)
Kết quả là 9 5. Python cho phép gán nhiều giá trị cùng lúc, nên bạn không cần biến trung gian.
Đề bài: Nhập số nguyên có hai chữ số, in ra chữ số hàng chục và hàng đơn vị.
n = int(input("Nhập số có hai chữ số: "))
print("Hàng chục:", n // 10)
print("Hàng đơn vị:", n % 10)
Toán tử // chia lấy phần nguyên. Toán tử % chia lấy phần dư. Hai toán tử này xuất hiện rất nhiều trong bài tập.
Sau khi quen với biến, bạn bước sang rẽ nhánh và lặp. Hai kỹ năng này giúp chương trình "biết quyết định" và xử lý nhiều dữ liệu. Bạn có thể ôn lại cú pháp vòng lặp ở bài Python for.
Đề bài: Nhập một số nguyên, cho biết số đó chẵn hay lẻ.
n = int(input("Nhập một số nguyên: "))
if n % 2 == 0:
print("Số chẵn")
else:
print("Số lẻ")
Đề bài: Nhập điểm trung bình từ 0 đến 10. Xếp loại: từ 8 trở lên là Giỏi, từ 6.5 là Khá, từ 5 là Trung bình, còn lại là Yếu.
diem = float(input("Nhập điểm trung bình: "))
if diem >= 8:
print("Giỏi")
elif diem >= 6.5:
print("Khá")
elif diem >= 5:
print("Trung bình")
else:
print("Yếu")
Thứ tự các điều kiện rất quan trọng. Python kiểm tra từ trên xuống và dừng ở nhánh đúng đầu tiên.
Đề bài: Nhập số nguyên dương n, tính tổng 1 + 2 + ... + n.
n = int(input("Nhập n: "))
tong = 0
for i in range(1, n + 1):
tong += i
print("Tổng:", tong)
Đề bài: Nhập một số, in bảng cửu chương của số đó từ 1 đến 10.
n = int(input("Nhập một số: "))
for i in range(1, 11):
print(f"{n} x {i} = {n * i}")
Đề bài: Nhập số nguyên n, cho biết n có phải số nguyên tố không.
n = int(input("Nhập n: "))
la_nguyen_to = n >= 2
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
la_nguyen_to = False
break
if la_nguyen_to:
print(n, "là số nguyên tố")
else:
print(n, "không phải số nguyên tố")
Bạn chỉ cần thử chia đến căn bậc hai của n. Cách này nhanh hơn nhiều so với thử mọi số nhỏ hơn n.
Nhóm cuối đưa bạn đến các bài tập code Python sát với thực tế hơn. Bạn sẽ xử lý danh sách, chuỗi ký tự và tự viết hàm.
Đề bài: Cho một list số nguyên, tìm số lớn nhất mà không dùng hàm max().
ds = [4, 17, 9, 25, 3]
lon_nhat = ds[0]
for x in ds:
if x > lon_nhat:
lon_nhat = x
print(lon_nhat)
Kết quả là 25. Bài này rèn tư duy "giữ giá trị tốt nhất đã gặp".
Đề bài: Nhập một chuỗi tiếng Anh, đếm số nguyên âm a, e, i, o, u.
s = input("Nhập chuỗi: ").lower()
dem = 0
for ky_tu in s:
if ky_tu in "aeiou":
dem += 1
print("Số nguyên âm:", dem)
Đề bài: Nhập một chuỗi, in ra chuỗi đảo ngược.
s = input("Nhập chuỗi: ")
print(s[::-1])
Cú pháp [::-1] cắt chuỗi với bước nhảy âm, nên chuỗi được đọc từ cuối về đầu.
Đề bài: Viết hàm giai_thua(n) trả về n!. Quy ước 0! = 1.
def giai_thua(n):
kq = 1
for i in range(2, n + 1):
kq *= i
return kq
print(giai_thua(5))
Kết quả là 120. Bạn nên gọi hàm với vài giá trị, trong đó có 0 và 1, để kiểm tra các trường hợp biên.
Đề bài: Viết hàm kiểm tra một chuỗi có đọc xuôi và ngược giống nhau không, ví dụ "level".
def doi_xung(s):
s = s.lower()
return s == s[::-1]
print(doi_xung("Level"))
print(doi_xung("Python"))
Chương trình in True rồi False.
Mười lăm bài trên chỉ là bước khởi động. Muốn luyện 100 bài tập Python hoặc nhiều hơn, bạn nên chọn nguồn có lời giải và có chỗ chạy code ngay.
Dưới đây là các khóa luyện tập trên hocpython.net:
| Khóa học | Phù hợp với | Học phí |
|---|---|---|
| Nhập môn Lập trình Python | Người mới, chưa viết dòng code nào | Miễn phí |
| Luyện tập Cú pháp Python | Người đã học lý thuyết, cần củng cố cú pháp | 399.000đ |
| Luyện tập thuật toán và giải quyết vấn đề với Python | Người muốn tập tư duy giải bài | 399.000đ |
Nguồn học phí: trang danh sách khóa học hocpython.net, cập nhật 20/10/2026.
Đặt mục tiêu nhỏ: mỗi ngày một bài, khoảng 20 đến 30 phút.
Ghi lại các lỗi hay gặp vào một file ghi chú.
Làm lại bài cũ sau một tuần mà không nhìn đáp án.
Sửa bài cũ theo cách khác để thấy một đề có nhiều lời giải.
Bạn nên bắt đầu từ nhóm biến, nhập xuất và toán tử. Khi viết được bài 1 đến bài 5 mà không cần xem đáp án, hãy chuyển sang if else và vòng lặp.
Không sao. Hãy thử trong khoảng 10 đến 15 phút, sau đó xem gợi ý. Điều quan trọng là bạn hiểu lời giải rồi tự viết lại, không chỉ đọc lướt.
Bạn chỉ cần một trình chạy Python. Với người mới, chạy code trực tiếp trên trình duyệt là cách nhanh nhất để bắt đầu mà không phải cài đặt.
Bạn đã có 15 bài với lời giải, cách luyện theo từng bước và danh sách khóa học để học tiếp. Hãy chọn một bài, gõ code và chạy thử ngay hôm nay.
Đăng ký tài khoản miễn phí tại hocpython.net để học với bài giảng có sẵn trình chạy code. Bạn cũng có thể gọi +84 989 534 458 để chúng tôi tư vấn lộ trình. Chúng tôi đồng hành cùng bạn từ những bài tập Python đầu tiên.
Muốn học lập trình Python nhưng chưa biết bắt đầu từ đâu? Bạn chỉ cần đi đúng thứ tự: cài môi trường...
Bạn cần lặp lại một đoạn code nhiều lần mà không muốn chép đi chép lại? Python for giải quyết việc đ...
Python là gì? Python là ngôn ngữ lập trình bậc cao, cú pháp gần với tiếng Anh nên dễ đọc, dễ học. Bạ...