Đặt buổi học thử miễn phí — Trải nghiệm lớp học trực tuyến chất lượng caoĐặt lịch ngay →
Học Việt

Ví dụ: Luyện tập: Lập trình Python cơ bản

Giới thiệu bài học Chào các em, sau khi đã tìm hiểu các kiến thức cơ bản về lập trình Python như biến, kiểu dữ liệu, cấu trúc rẽ nhánh, cấu trúc lặp và danh sách, hôm nay chúng ta sẽ cùng nhau luyện tập tổng hợp. Bài học này sẽ giúp các em vận dụng linh hoạt các kiến thức đã học

Giới thiệu bài học

Chào các em, sau khi đã tìm hiểu các kiến thức cơ bản về lập trình Python như biến, kiểu dữ liệu, cấu trúc rẽ nhánh, cấu trúc lặp và danh sách, hôm nay chúng ta sẽ cùng nhau luyện tập tổng hợp. Bài học này sẽ giúp các em vận dụng linh hoạt các kiến thức đã học để giải quyết những bài toán cụ thể, từng bước hoàn thiện kỹ năng lập trình của mình.

Lý thuyết trọng tâm: Luyện tập lập trình

Luyện tập là quá trình các em thực hành viết mã nguồn để giải quyết các bài toán. Mục tiêu là giúp các em:

  • Nắm vững cú pháp của các câu lệnh Python.
  • Rèn luyện tư duy phân tích và giải quyết vấn đề.
  • Phát triển kỹ năng gỡ lỗi và tối ưu mã nguồn.

Để luyện tập hiệu quả, các em nên tuân theo các bước sau:

  1. Đọc kỹ yêu cầu bài toán.
  2. Phân tích và lên ý tưởng giải quyết.
  3. Viết mã nguồn từng bước một.
  4. Chạy thử và kiểm tra kết quả.
  5. Sửa lỗi nếu có và cải tiến chương trình.

Ví dụ minh họa từng bước

Ví dụ 1: Tính tổng các số chẵn từ 1 đến n

Yêu cầu: Viết chương trình nhập vào một số nguyên dương n, tính và in ra tổng các số chẵn từ 1 đến n.

Phân tích: Bài toán này yêu cầu chúng ta duyệt qua các số từ 1 đến n, kiểm tra nếu số đó là số chẵn thì cộng vào tổng. Chúng ta sẽ sử dụng vòng lặp for và câu lệnh rẽ nhánh if.

Các bước viết chương trình:

  1. Nhập n từ bàn phím, chuyển sang kiểu số nguyên.
  2. Khởi tạo một biến tong bằng 0 để lưu tổng.
  3. Dùng vòng lặp for i in range(1, n+1) để duyệt từ 1 đến n.
  4. Trong vòng lặp, kiểm tra: nếu i % 2 == 0 (i là số chẵn) thì cộng i vào biến tong.
  5. In kết quả ra màn hình.

Mã nguồn mẫu:

Chương trình Python:

# Nhập n
n = int(input("Nhập n: "))

# Khởi tạo biến tổng
tong = 0

# Duyệt và tính tổng
for i in range(1, n + 1):
    if i % 2 == 0:
        tong = tong + i

# In kết quả
print("Tổng các số chẵn từ 1 đến", n, "là:", tong)

Giải thích: Khi nhập n = 10, vòng lặp chạy từ i = 1 đến 10. Các số chẵn là 2, 4, 6, 8, 10 được cộng dồn vào biến tong. Kết quả in ra là 30.

Ví dụ 2: Kiểm tra một số có phải là số nguyên tố không

Yêu cầu: Viết chương trình nhập vào một số nguyên không âm n, kiểm tra và in ra thông báo n có phải là số nguyên tố hay không.

Phân tích: Số nguyên tố là số lớn hơn 1 và chỉ chia hết cho 1 và chính nó. Chúng ta sẽ kiểm tra n bằng cách xem n có chia hết cho bất kỳ số nào từ 2 đến căn bậc hai của n hay không. Sử dụng vòng lặp và câu lệnh rẽ nhánh.

Các bước viết chương trình:

  1. Nhập n từ bàn phím.
  2. Kiểm tra: nếu n < 2 thì in ra "Không phải số nguyên tố" và kết thúc.
  3. Khởi tạo biến ket_qua = True, giả định n là số nguyên tố.
  4. Dùng vòng lặp for i in range(2, int(n**0.5) + 1).
  5. Trong vòng lặp, nếu n chia hết cho i thì gán ket_qua = False và dừng vòng lặp.
  6. Sau vòng lặp, kiểm tra ket_qua để in thông báo phù hợp.

Mã nguồn mẫu:

# Nhập n
n = int(input("Nhập một số nguyên không âm: "))

if n < 2:
    print(n, "không phải là số nguyên tố")
else:
    ket_qua = True
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            ket_qua = False
            break
    if ket_qua:
        print(n, "là số nguyên tố")
    else:
        print(n, "không phải là số nguyên tố")

Giải thích: Với n = 13, vòng lặp kiểm tra từ i = 2 đến 3 (vì căn bậc hai của 13 ≈ 3.6). 13 không chia hết cho 2 hay 3, nên ket_qua vẫn là True, chương trình in ra "13 là số nguyên tố".

Ví dụ 3: Tìm số lớn nhất trong một danh sách

Yêu cầu: Cho một danh sách gồm các số nguyên. Viết chương trình tìm và in ra số lớn nhất trong danh sách đó.

Phân tích: Chúng ta sẽ khởi tạo biến max_num bằng phần tử đầu tiên của danh sách, sau đó duyệt qua từng phần tử, nếu phần tử nào lớn hơn max_num thì cập nhật.

Các bước viết chương trình:

  1. Khởi tạo danh sách numbers (ví dụ: [8, 3, 15, 7, 10]).
  2. Gán max_num = numbers[0].
  3. Dùng vòng lặp for num in numbers.
  4. Trong vòng lặp, nếu num > max_num thì gán max_num = num.
  5. In kết quả ra màn hình.

Mã nguồn mẫu:

# Danh sách số
numbers = [8, 3, 15, 7, 10]

# Giả sử số đầu tiên là lớn nhất
max_num = numbers[0]

# Duyệt danh sách
for num in numbers:
    if num > max_num:
        max_num = num

# In kết quả
print("Số lớn nhất trong danh sách là:", max_num)

Giải thích: Ban đầu max_num = 8. Khi duyệt, 3 < 8 (bỏ qua), 15 > 8 nên max_num = 15, tiếp theo 7 và 10 đều nhỏ hơn 15, kết quả in ra là 15.

Ghi nhớ

  • Khi luyện tập, luôn đọc kỹ yêu cầuphân tích bài toán trước khi viết mã.
  • Sử dụng các câu lệnh đã học như if, else, for, while một cách linh hoạt.
  • Thường xuyên chạy thử chương trình với nhiều bộ dữ liệu đầu vào khác nhau để kiểm tra tính đúng đắn.
  • Nếu gặp lỗi, hãy đọc thông báo lỗi và kiểm tra lại cú pháp hoặc logic chương trình.

Bài tập gợi ý

Các em hãy tự luyện tập thêm với các bài tập sau đây:

  1. Viết chương trình nhập vào một số nguyên n, in ra bảng cửu chương của n (từ 1 đến 10).
  2. Viết chương trình nhập vào một danh sách các số, tính và in ra trung bình cộng của các số trong danh sách.
  3. Viết chương trình nhập vào một số nguyên dương n, in ra tất cả các ước số của n.
  4. Viết chương trình kiểm tra xem một số có phải là số đối xứng (palindrome) hay không.

Chúc các em luyện tập thật tốt!