Ôn tập Python lớp 9: Hàm, tệp văn bản và xử lý lỗi
Ôn tập Python lớp 9: Hàm, tệp văn bản và xử lý lỗi
Khởi động
Bài ôn tập này giúp em củng cố cách tạo hàm bằng def, trả kết quả bằng return, đọc và ghi tệp bằng open(), đồng thời xử lý lỗi với try và except. Mỗi bài đều có đề bài, gợi ý và lời giải hoàn chỉnh.
Bài 1: Tính diện tích hình chữ nhật bằng hàm
Đề bài: Viết hàm nhận chiều dài và chiều rộng, sau đó trả về diện tích hình chữ nhật.
Gợi ý: Tạo hàm rectangle_area(length, width). Diện tích bằng chiều dài nhân chiều rộng.
def rectangle_area(length, width):
return length * width
length = float(input("Nhập chiều dài: "))
width = float(input("Nhập chiều rộng: "))
if length <= 0 or width <= 0:
print("Kích thước phải lớn hơn 0.")
else:
area = rectangle_area(length, width)
print("Diện tích hình chữ nhật là:", area)
Hãy thử nhập số nguyên, số thập phân và giá trị bằng 0.
Bài 2: Kiểm tra số chẵn
Đề bài: Viết hàm trả về True nếu một số là số chẵn, ngược lại trả về False.
Gợi ý: Một số chẵn khi chia cho 2 có phần dư bằng 0.
def is_even(number):
return number % 2 == 0
number = int(input("Nhập một số nguyên: "))
if is_even(number):
print(number, "là số chẵn.")
else:
print(number, "là số lẻ.")
Bài 3: Ghi danh sách điểm vào tệp
Đề bài: Ghi các điểm trong danh sách vào tệp diem.txt, mỗi điểm nằm trên một dòng.
Gợi ý: Mở tệp bằng chế độ "w". Dùng vòng lặp để ghi từng điểm kèm ký tự xuống dòng.
scores = [7.5, 8.0, 9.25, 6.5, 8.75]
with open("diem.txt", "w", encoding="utf-8") as file:
for score in scores:
file.write(str(score) + "\n")
print("Đã ghi điểm vào tệp diem.txt.")
Sau khi chạy, tệp diem.txt sẽ được tạo trong cùng thư mục với tệp Python.
Bài 4: Đọc dữ liệu từ tệp
Đề bài: Đọc các điểm trong tệp diem.txt và tính điểm lớn nhất.
Gợi ý: Mở tệp bằng chế độ "r", loại bỏ ký tự xuống dòng bằng strip() rồi chuyển dữ liệu sang float.
try:
with open("diem.txt", "r", encoding="utf-8") as file:
lines = file.readlines()
scores = []
for line in lines:
score = float(line.strip())
scores.append(score)
if len(scores) == 0:
print("Tệp không có dữ liệu.")
else:
print("Điểm lớn nhất là:", max(scores))
except FileNotFoundError:
print("Không tìm thấy tệp diem.txt.")
except ValueError:
print("Tệp chứa dữ liệu không phải là số.")
Bài 5: Máy tính an toàn
Đề bài: Viết chương trình nhập hai số và phép tính +, -, *, /. Xử lý trường hợp nhập sai dữ liệu hoặc chia cho 0.
Gợi ý: Đặt phần chuyển đổi số trong khối try. Dùng except ValueError để xử lý dữ liệu không hợp lệ.
try:
first = float(input("Nhập số thứ nhất: "))
second = float(input("Nhập số thứ hai: "))
operator = input("Nhập phép tính (+, -, *, /): ").strip()
if operator == "+":
result = first + second
elif operator == "-":
result = first - second
elif operator == "*":
result = first * second
elif operator == "/":
if second == 0:
print("Không thể chia cho 0.")
else:
result = first / second
else:
print("Phép tính không hợp lệ.")
if operator in ["+", "-", "*"] or (operator == "/" and second != 0):
print("Kết quả:", result)
except ValueError:
print("Em phải nhập dữ liệu dạng số.")
Đọc tiếp bài viết trong Seri Python lớp 9: Ôn tập Python lớp 9: Thuật toán, tìm kiếm và xử lý dữ liệu
Ôn luyện thêm
Em hãy kết hợp hàm và tệp: viết hàm đọc điểm từ tệp, hàm tính điểm trung bình và hàm tìm điểm cao nhất. Khi chia chương trình thành các hàm nhỏ, code dễ đọc, dễ kiểm tra và có thể sử dụng lại.
Từ khoá: on tap python lop 9 ham tep van ban va xu ly loi, Ôn tập Python lớp 9, hàm Python, đọc ghi tệp Python, xử lý lỗi Python, bài tập Python THCS