Bài 3 Python lớp 9: Đọc và ghi tệp văn bản

Học cách lưu kết quả chương trình vào tệp văn bản và đọc dữ liệu trở lại.

Bài 3 Python lớp 9: Đọc và ghi tệp văn bản

Bài 3 Python lớp 9: Đọc và ghi tệp văn bản

Kiến thức, bài tập và hướng dẫn thực hành

Hướng dẫn học sinh

Tệp văn bản giúp chương trình lưu điểm, danh sách và nhật ký để sử dụng lại sau khi tắt máy. Bài học được trình bày theo trình tự: hiểu lệnh, xem ví dụ, tự làm bài, đọc gợi ý, hoàn thiện lời giải và kiểm thử. Em nên tự gõ chương trình thay vì chỉ sao chép để nhớ cách suy nghĩ.

1. Lệnh và ý nghĩa

Lệnh open() mở tệp. Chế độ r dùng để đọc, w ghi mới và xóa nội dung cũ, còn a ghi nối tiếp. Cấu trúc with open(...) as file giúp Python tự đóng tệp. read() đọc toàn bộ, readline() đọc một dòng và readlines() tạo danh sách các dòng.

Trước khi lập trình, hãy viết rõ: đầu vào là gì, đầu ra là gì, dữ liệu thuộc kiểu nào và các bước xử lý ra sao. Cách phân tích này giúp em tránh viết mã theo kiểu đoán mò.

2. Ví dụ đọc và ghi tệp văn bản

with open("nhatky.txt", "w", encoding="utf-8") as file:

file.write("Hôm nay em học Python\n")

with open("nhatky.txt", "r", encoding="utf-8") as file:

print(file.read())

Em hãy chạy ví dụ với ít nhất ba bộ dữ liệu: một trường hợp thông thường, một trường hợp ở biên và một trường hợp có thể gây lỗi. Hãy dự đoán kết quả trước khi bấm Run, sau đó so sánh kết quả thực tế.

2. Bài tập áp dung đọc và ghi tệp văn bản

Bài 1: Lưu một câu vào tệp

Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng w và write().

Hướng dẫn giải: Nhận câu bằng input(), mở tệp bằng with, ghi câu kèm ký tự xuống dòng rồi đọc lại.

Bài 2: Lưu tên 5 bạn

Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng vòng lặp for chạy 5 lần.

 

Hướng dẫn giải: Mở tệp một lần trước vòng lặp, mỗi lần gọi input() và write().

 

Bài 3: Tính trung bình điểm trong tệp

 

Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Tách từng dòng tại dấu hai chấm.

 

Hướng dẫn giải: Đọc từng dòng, strip(), split(":"), đổi điểm sang float, cộng dồn và chia số lượng.

 

Bài 4: Ghi nối tiếp nhật ký

 

Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng chế độ a.

 

Hướng dẫn giải: Mở tệp với a, ghi thêm nội dung mới; sau đó mở với r để kiểm tra.

 

Bài 5: Xử lý tệp không tồn tại

 

Hãy tự viết chương trình trước. Đừng xem lời giải ngay. Gợi ý: Dùng try except FileNotFoundError.

 

Hướng dẫn giải: Đặt lệnh đọc trong try và in thông báo dễ hiểu trong except.

 

4. Bài giải hoàn chỉnh

Lời giải bài 1

text=input("Nhập câu: ")

with open("cau.txt","w",encoding="utf-8") as f:

f.write(text+"\n")

with open("cau.txt","r",encoding="utf-8") as f:

print(f.read())

 

Giải thích: input nhận câu, w tạo hoặc ghi mới, write lưu dữ liệu, r đọc lại.

 

Kết quả mẫu: Nhập Python rất vui thì màn hình in lại Python rất vui.

 

Lời giải bài 2

scores=[]

with open("diem.txt","r",encoding="utf-8") as f:

for line in f:

name,score=line.strip().split(":")

scores.append(float(score))

if scores:

print("Trung bình:",sum(scores)/len(scores))

else:

print("Chưa có điểm")

 

Giải thích: strip bỏ xuống dòng, split tách tên và điểm, float đổi sang số, len đếm số điểm.

 

Kết quả mẫu: Với An:8 và Bình:9, kết quả là 8.5.

 

5. Kiểm thử và lỗi thường gặp

 

Hãy thử dữ liệu rỗng, số 0, giá trị âm, chữ có dấu cách và dữ liệu lớn. Nếu chương trình sai, hãy kiểm tra kiểu dữ liệu, tên biến, điều kiện dừng, dấu hai chấm và thụt lề. Lệnh print() rất hữu ích để quan sát giá trị trung gian.

 

Không dùng tên biến quá ngắn nếu làm bài dài.

Không bỏ qua việc kiểm tra dữ liệu nhập vào.

Không viết tất cả lệnh trên một dòng vì khó đọc và khó sửa.

Luôn chạy lại chương trình sau mỗi thay đổi nhỏ.

6. Thử thách mở rộng

 

Em hãy thêm menu, tách chương trình thành hàm hoặc lưu kết quả vào tệp. Sau khi hoàn thành, nhờ một bạn nhập dữ liệu khác để kiểm tra. Nếu bạn có thể sử dụng mà không cần hỏi lại, chương trình của em đã rõ ràng hơ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-4-python-lop-9-ham-mo-dun-254.html

Từ khoá: bai 3 python lop 9 doc va ghi tep van ban, 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

How To 60s

How To 60s

How To 60s - Tổng hợp Giáo án và đề thi THCS chương trình mới KNTT, CTST. Thủ thuật excel, word, powerpoint, windows. Mẹo vặt máy tính giúp công việc đơn giản hơn. Chia sẻ những kinh nghiệm, thủ thuật hay trong công việc và cuộc sống hàng ngày