Môn Tin họcQuản lý học tập Tin học

Tìm lỗi chương trình tính cước gửi hàng

Lớp 10Lập trìnhpythonGiải quyết vấn đề với máy tínhVận dụng cao

Thang điểm 10 · 5 test case chấm tự động · 3 tiêu chí chấm

Bưu điện quy định cước phí gửi hàng như sau: khối lượng nhỏ hơn hoặc bằng 2kg thì phí là 15000 đồng; khối lượng lớn hơn 2kg và nhỏ hơn hoặc bằng 5kg thì phí là 25000 đồng; khối lượng lớn hơn 5kg thì phí là 40000 đồng.

Một bạn học sinh đã viết đoạn chương trình sau nhưng bị sai kết quả tại các mốc khối lượng đúng 2kg và đúng 5kg:

  • k = float(input())
  • if k < 2:
  •     phi = 15000
  • else:
  •     if k < 5:
  •         phi = 25000
  •     else:
  •         phi = 40000
  • print(phi)

Hãy tìm nguyên nhân gây lỗi (liên quan đến điều kiện biên) và viết lại chương trình hoàn chỉnh, đọc khối lượng k (số thực, đơn vị kg) từ bàn phím và in ra đúng cước phí (số nguyên, không có đơn vị).

InputOutputGiải thích
215000Đúng 2kg vẫn thuộc mức phí thấp nhất
525000Đúng 5kg vẫn thuộc mức phí giữa
640000Trên 5kg thuộc mức phí cao nhất
#if lồng nhau#lỗi biên#gỡ lỗi#category:tu_duy_phan_bien#difficulty:analyzing

Giáo viên giao bài này cho lớp, học sinh nộp bài trực tuyến và được chấm tự động.

Giáo viên đăng nhập để giao bài