Tìm lỗi trong chương trình theo dõi biến động số dư ví điện tử
Thang điểm 10 · 5 test case chấm tự động · 3 tiêu chí chấm
Bạn của em viết chương trình vidien_tu.py để nhập vào các giá trị biến động số dư ví điện tử mỗi tháng trong học kì (số nguyên, có thể âm nếu chi nhiều hơn nạp), rồi tính và in ra: số dư biến động trung bình, giá trị biến động cao nhất, giá trị biến động thấp nhất. Chương trình dưới đây chạy được nhưng cho kết quả sai khi tất cả các giá trị nhập vào đều là số âm (hoặc đều là số dương):
line = input("Hay nhap cac gia tri bien dong so du moi thang: ")marks = [int(x) for x in line.split()]total = 0Min = 0Max = 0for m in marks: total = total + m if Min > m: Min = m if Max < m: Max = mprint("Trung binh:", total / len(marks))print("Cao nhat:", Max)print("Thap nhat:", Min)
Em hãy: (1) chỉ ra chỗ sai trong chương trình và giải thích tại sao khởi tạo Min = 0, Max = 0 lại gây ra kết quả sai; (2) sửa lại chương trình cho đúng (giữ nguyên cấu trúc nhập một dòng số nguyên cách nhau bởi dấu cách, in kết quả theo đúng 3 dòng như trên).
Định dạng vào: một dòng chứa các số nguyên (biến động số dư mỗi tháng), cách nhau bởi dấu cách.
Định dạng ra: ba dòng: trung bình, giá trị cao nhất, giá trị thấp nhất, theo đúng nhãn như chương trình gốc.
| Input | Output | Giải thích |
|---|---|---|
| -5 -3 -8 -2 | Trung binh: -4.5 Cao nhat: -2 Thap nhat: -8 | Toàn số âm, nếu khởi tạo Max=0 chương trình lỗi sẽ in Cao nhat: 0 (sai) |
| 5 3 8 2 | Trung binh: 4.5 Cao nhat: 8 Thap nhat: 2 | Toàn số dương, nếu khởi tạo Min=0 chương trình lỗi sẽ in Thap nhat: 0 (sai) |
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àiBài tập khác lớp 11
- Ước lượng thời gian chấm điểm bài thi trắc nghiệm · Lập trình
- Đo đường chéo sân tập thể thao · Lập trình
- Chồng sách trên bàn học · Lập trình
- Thống kê quãng đường chạy bộ của CLB · Lập trình
- Đếm số cách đóng gói đều sản phẩm · Lập trình
- Theo dõi số bước chân của nhóm tập luyện · Lập trình