20 bài tập Python cơ bản tập trung vào nhập dữ liệu, if/elif/else, for, while (tăng dần độ khó)

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
20 bài tập Python cơ bản tập trung vào nhập dữ liệu, if/elif/else, for, while (tăng dần độ khó)
  1. So sánh hai số
  • Nhập: hai số nguyên a, b.
  • Xuất: số lớn hơn; nếu bằng nhau in “Bằng nhau”.
  • Dùng: if/elif/else.
  1. Chẵn hay lẻ
  • Nhập: số nguyên n.
  • Xuất: “Chẵn” hoặc “Lẻ”.
  • Dùng: if.
  1. Lớn nhất trong ba số
  • Nhập: a, b, c.
  • Xuất: giá trị lớn nhất.
  • Dùng: lồng if.
  1. Xếp loại điểm
  • Nhập: điểm 0..10 (float).
  • Xuất: “Giỏi (≥8) / Khá (≥6.5) / Trung bình (≥5) / Yếu (<5)”.
  • Dùng: if/elif/else; kiểm tra biên hợp lệ.
  1. Tổng 1→n (for)
  • Nhập: n ≥ 1.
  • Xuất: 1 + 2 + … + n.
  • Dùng: for range.
  1. Tổng số lẻ 1→n (for + continue)
  • Nhập: n.
  • Xuất: tổng các số lẻ từ 1 đến n.
  • Dùng: for, if, continue.
  1. Bảng cửu chương của n
  • Nhập: n (1–9).
  • Xuất: 10 dòng n x i = … với i=1..10.
  • Dùng: for.
  1. Đếm ký tự trong chuỗi
  • Nhập: chuỗi s, ký tự c.
  • Xuất: số lần c xuất hiện trong s (không phân biệt hoa/thường).
  • Dùng: for qua từng ký tự + if.
  1. Đếm chữ số của số nguyên (while)
  • Nhập: n (có thể âm).
  • Xuất: số lượng chữ số của |n|.
  • Dùng: while n>0: n//=10.
  1. Đảo ngược số nguyên (while)
  • Nhập: n.
  • Xuất: số đảo ngược (giữ dấu âm nếu có).
  • Dùng: tách đuôi n%10 trong while.
  1. Kiểm tra năm nhuận
  • Nhập: y (năm).
  • Xuất: “Nhuận” nếu (chia hết cho 400) hoặc (chia hết cho 4 nhưng không cho 100), ngược lại “Không nhuận”.
  • Dùng: if/elif/else.
  1. FizzBuzz
  • Nhập: n.
  • Xuất: từ 1→n, in “Fizz” nếu chia hết 3, “Buzz” nếu chia hết 5, “FizzBuzz” nếu chia hết cả 3 và 5, còn lại in số.
  • Dùng: for + if/elif.
  1. Đếm và cộng số dương đến khi nhập 0 (while – sentinel)
  • Nhập: nhiều số; dừng khi nhập 0.
  • Xuất: số lượng và tổng các số dương đã nhập.
  • Dùng: while True + break.
  1. Tính giai thừa n (while)
  • Nhập: n ≥ 0.
  • Xuất: n!.
  • Dùng: while hoặc for; kiểm tra n hợp lệ.
  1. Số nguyên tố cơ bản
  • Nhập: n ≥ 2.
  • Xuất: “Nguyên tố” hoặc “Hợp số”.
  • Dùng: for i in range(2, n) (hoặc đến int(sqrt(n))) + if + break.
  1. In n số Fibonacci đầu tiên
  • Nhập: n ≥ 1.
  • Xuất: n số đầu của dãy Fibonacci trên một dòng (cách bởi khoảng trắng).
  • Dùng: for, cập nhật a, b.
  1. Tổng các chữ số của n (while)
  • Nhập: n (có thể âm).
  • Xuất: tổng chữ số của |n|.
  • Dùng: while tách n%10.
  1. Đếm nguyên âm & phụ âm trong chuỗi
  • Nhập: chuỗi tiếng Anh.
  • Xuất: so_nguyen_am, so_phu_am (bỏ qua ký tự không phải chữ).
  • Dùng: for + if trên ch.isalpha().
  1. Vẽ tam giác sao
  • Nhập: h ≥ 1.
  • Xuất: tam giác cân trái, ví dụ h=4
*
**
***
****
  • Dùng: for lồng hoặc một vòng for với nhân chuỗi "*" * i.
  1. Trò chơi đoán số (while)
  • Mô tả: Máy chọn số trong [1..100]. Người chơi đoán cho đến khi đúng hoặc gõ q để thoát.
  • Xuất: báo “Cao quá / Thấp quá / Đúng rồi!”.
  • Dùng: random.randint, while, if/elif/else, break, continue.

Gợi ý khung nhập & kiểm tra nhanh

  • Đọc nhiều số một dòng:
    a, b = map(int, input().split())
    
  • Vòng lặp vô hạn + thoát:
    while True:
        s = input().strip()
        if s == 'q': break
    
  • Duyệt phạm vi:
    for i in range(1, n+1):
        ...
    

 

Bài viết liên quan