C2-13 · Tìm lỗi: trung bình ba bài kiểm tra
Xem dạng PDF
Gửi bài giải
Điểm:
1,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Python
Đề
Bài toán gốc. Một dòng chứa điểm ba bài kiểm tra (số thực); in điểm trung bình với đúng 2 chữ số thập phân.
Bạn Nam viết chương trình sau và bị Wrong Answer:
diem_1, diem_2, diem_3 = input().split()
tb = float(diem_1) + float(diem_2) + float(diem_3) / 3
print("Trung binh:", round(tb, 2))
Chương trình có ba lỗi: một lỗi công thức và hai lỗi in. Hãy tìm cả ba, sửa lại rồi nộp bản đã sửa. Hệ thống chấm bản sửa theo bài toán gốc như mọi bài khác.
Dữ liệu vào
Một dòng chứa ba số thực — điểm ba bài kiểm tra, cách nhau một dấu cách.
Kết quả
Một dòng: điểm trung bình với đúng 2 chữ số thập phân.
Ràng buộc
- Mỗi điểm từ 0 đến 10, viết dạng số nguyên (
7) hoặc có một chữ số thập phân (8.5), dùng dấu chấm.
Ví dụ 1
Dữ liệu vào:
7 8.5 6
Kết quả:
7.17
Ví dụ 2
Dữ liệu vào:
7 7 7
Kết quả:
7.00
Giải thích ví dụ
- Ví dụ 1: ~(7 + 8.5 + 6) / 3 = 21.5 / 3 \approx 7.1667~, in
7.17. Chương trình của Nam tính ~7 + 8.5 + 6/3 = 17.5~ và inTrung binh: 17.5. - Ví dụ 2: trung bình đúng bằng 7 nhưng vẫn phải in đủ hai chữ số:
7.00. Sửa xong công thức và bỏ nhãn mà vẫn giữround(tb, 2)thì chương trình in7.0— vẫn sai.
Ghi chú
- Bảng Lỗi thường gặp (mục 2.8): thiếu ngoặc; in nhãn; in chưa định dạng.
round()tạo giá trị mới, còn:.2fquyết định cách in (mục 2.6).
Nguồn trong sách: Bài C2-13, mục 2.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (**)
Đang tải...