Bài 5 Python lớp 9: Xử lý lỗi và bảo vệ dữ liệu
Bài 5 Python lớp 9: Xử lý lỗi và bảo vệ dữ liệu
Kiến thức, bài tập và hướng dẫn thực hành
Hướng dẫn học sinh
Bài 5 Python lớp 9: Xử lý lỗi và bảo vệ dữ liệu
Bài 5 Python lớp 9: Xử lý lỗi
try và except giúp chương trình không dừng đột ngột khi dữ liệu nhập sai. Em sẽ học cách kiểm tra dữ liệu an toàn. Trong bài này, em sẽ học theo quy trình: hiểu lệnh, quan sát ví dụ, tự làm bài tập, kiểm thử rồi hoàn thiện bài giải. Mục tiêu không phải nhớ thật nhiều cú pháp mà là biết chọn đúng lệnh cho từng tình huống.
1. Kiến thức cần nhớ
Trước khi viết chương trình, hãy xác định dữ liệu đầu vào, kết quả cần nhận và các bước xử lý. Em nên viết bằng lời trước, sau đó mới chuyển thành Python. Khi gõ mã, chú ý thụt lề, dấu ngoặc, tên biến rõ nghĩa và kiểu dữ liệu.
Lệnh trọng tâm của bài giúp chương trình thực hiện một nhiệm vụ cụ thể. Hãy thử thay đổi giá trị trong ví dụ, dự đoán kết quả trước khi chạy và ghi lại điều em quan sát được.
2. Ví dụ minh họa
try:
n=int(input("Nhập số: "))
except ValueError:
print("Hãy nhập số nguyên")
Hãy đọc ví dụ từ trên xuống dưới. Mỗi dòng có một vai trò: nhận dữ liệu, xử lý và hiển thị kết quả. Nếu chưa hiểu, em có thể thêm print() để xem giá trị trung gian.
3. Bài tập tự luyện
Bài 1: Xử lý nhập tuổi
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Em nên chuẩn bị ít nhất ba bộ dữ liệu: dữ liệu thông thường, dữ liệu ở biên và dữ liệu có thể gây lỗi.
Bài 2: Kiểm tra điểm 0 đến 10
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Em nên chuẩn bị ít nhất ba bộ dữ liệu: dữ liệu thông thường, dữ liệu ở biên và dữ liệu có thể gây lỗi.
Bài 3: Đọc tệp chưa tồn tại
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Em nên chuẩn bị ít nhất ba bộ dữ liệu: dữ liệu thông thường, dữ liệu ở biên và dữ liệu có thể gây lỗi.
Bài 4: Cho nhập lại đến khi đúng
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Em nên chuẩn bị ít nhất ba bộ dữ liệu: dữ liệu thông thường, dữ liệu ở biên và dữ liệu có thể gây lỗi.
Bài 5: Thông báo lỗi dễ hiểu
Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Em nên chuẩn bị ít nhất ba bộ dữ liệu: dữ liệu thông thường, dữ liệu ở biên và dữ liệu có thể gây lỗi.
4. Hướng dẫn từng bước
Đọc kỹ đề và gạch chân dữ liệu cần nhập.
Viết ra kết quả cần in và công thức hoặc quy tắc xử lý.
Chia chương trình thành các bước nhỏ; mỗi bước chỉ nên làm một việc.
Đặt tên biến dễ hiểu, chạy thử từng phần và sửa lỗi ngay khi phát hiện.
Kiểm thử lại bằng dữ liệu khác, đặc biệt là số 0, danh sách rỗng hoặc giá trị lớn.
Với mỗi bài, em có thể lập bảng gồm đầu vào, kết quả mong đợi và kết quả thực tế. Nếu hai kết quả khác nhau, hãy kiểm tra từng biến trung gian thay vì viết lại toàn bộ chương trình.
5. Bài giải hoàn chỉnh tham khảo
while True:
try:
score=float(input("Điểm 0-10: "))
if 0 <= score <= 10:
break
print("Điểm ngoài khoảng")
except ValueError:
print("Hãy nhập số")
print(score)
Bài giải trên là một cách làm, không phải cách duy nhất. Sau khi chương trình chạy đúng, em hãy thử tách phần xử lý thành hàm, thêm kiểm tra dữ liệu hoặc tạo menu để chương trình dễ dùng hơn.
6. Lỗi thường gặp
Quên dấu hai chấm sau câu lệnh điều khiển hoặc khai báo hàm.
Thụt lề không thống nhất.
Nhầm chuỗi với số khi nhận dữ liệu từ input().
Chưa kiểm tra trường hợp người dùng nhập dữ liệu ngoài dự kiến.
Chỉ thử một bộ dữ liệu nên không phát hiện lỗi ở trường hợp đặc biệt.
7. Thử thách mở rộng
Hãy bổ sung ít nhất một tính năng mới, viết chú thích cho đoạn mã quan trọng và nhờ một bạn khác chạy thử. Khi bạn không biết cách dùng chương trình, đó là dấu hiệu em cần cải thiện thông báo và hướng dẫn.
Đọc tiếp bài tiếp theo trong seri Python lớp 9.
PHẦN HƯỚNG DẪN CHI TIẾT
Khi bắt đầu bài tập, em không nên vội gõ mã. Hãy đọc đề hai lần. Lần đầu để hiểu câu chuyện, lần thứ hai để đánh dấu dữ liệu nhập và kết quả cần in. Tiếp theo, hãy viết một ví dụ cụ thể bằng tay. Nếu đề yêu cầu xử lý nhiều dữ liệu, hãy lập một bảng nhỏ để nhìn thấy dữ liệu thay đổi như thế nào sau mỗi bước. Đây là cách các lập trình viên kiểm tra suy luận trước khi đưa vào máy tính.
Gợi ý kiểm thử: Bộ dữ liệu thứ nhất là trường hợp bình thường, chẳng hạn một tên hợp lệ hoặc một điểm nằm giữa khoảng cho phép. Bộ dữ liệu thứ hai là trường hợp biên, chẳng hạn danh sách rỗng, số 0, điểm đúng bằng 5 hoặc tệp chỉ có một dòng. Bộ dữ liệu thứ ba là trường hợp dễ gây lỗi, chẳng hạn người dùng nhập chữ, nhập khoảng trắng hoặc tìm một dữ liệu không tồn tại. Với mỗi bộ, em hãy ghi kết quả mong đợi trước khi chạy.
Cách đọc bài giải: Không chỉ nhìn kết quả cuối cùng. Hãy đọc từng dòng và trả lời ba câu hỏi: biến này đang lưu gì, lệnh này làm thay đổi điều gì, và nếu điều kiện sai thì chương trình đi đâu? Sau đó tự che phần bài giải, gõ lại từ trí nhớ và chạy thử. Nếu quên, hãy quay lại đúng phần giải thích lệnh thay vì sao chép toàn bộ.
Cách sửa lỗi: Lỗi cú pháp thường liên quan đến dấu ngoặc, dấu hai chấm, chính tả tên biến hoặc thụt lề. Lỗi kiểu dữ liệu thường xuất hiện khi dùng chuỗi như một con số; hãy dùng int() hoặc float() khi phù hợp. Lỗi logic là khi chương trình vẫn chạy nhưng kết quả sai. Với lỗi logic, hãy thêm print() để xem giá trị sau từng bước. Khi đã tìm ra nguyên nhân, xóa các lệnh kiểm tra tạm thời và chạy lại chương trình sạch.
Bài tập tự mở rộng: Sau khi bài giải chạy đúng, em hãy đổi tên biến cho rõ hơn, tách phần xử lý thành hàm, thêm lời nhắc nhập dữ liệu và xử lý trường hợp người dùng bỏ trống. Em cũng có thể yêu cầu chương trình lặp lại nhiều lần bằng while, sau đó cho phép người dùng chọn 0 để kết thúc. Mỗi thay đổi nhỏ nên được kiểm thử ngay để biết chính xác phần nào gây lỗi.
Bài tập tổng hợp: Hãy viết lại bài toán bằng một chương trình hoàn chỉnh có tiêu đề, menu, các hàm riêng và thông báo kết quả dễ đọc. Chương trình cần có ít nhất một trường hợp nhập sai được xử lý. Hãy chuẩn bị phần trình bày ngắn: mục tiêu, dữ liệu vào, thuật toán, các hàm chính, ví dụ chạy thử và điều em muốn cải thiện.
Lời nhắc cuối bài: Lập trình không phải cuộc thi gõ nhanh. Điều quan trọng là em giải thích được vì sao chương trình hoạt động. Nếu chương trình chưa chạy, hãy thu nhỏ bài toán, kiểm tra một phần nhỏ rồi ghép lại. Mỗi lần sửa đúng là một bước tiến. Khi đã hoàn thành, em nên tự viết thêm một bài tương tự để kiểm tra xem mình đã hiểu lệnh hay mới chỉ nhớ lời giải.
Đọc tiếp: https://howto60s.com/bai-6-python-lop-9-thuat-toan-hieu-qua-256.html
Từ khoá: bai 5 python lop 9 xu ly loi va bao ve du lieu, Hướng dẫn Python lớp 9, Bài tập Python cho học sinh THCS, Hướng dẫn bài tập Python 9