C9-08 · Làm sạch tệp điểm
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
Đề
Tệp diem.csv mỗi dòng ma,diem. Một dòng hợp lệ khi đồng thời:
- có đúng 2 trường (tách bằng
split(",")); - mã gồm đúng 8 chữ số;
- điểm đổi được thành số bằng
float()và nằm trong đoạn [0; 10].
Ghi các dòng hợp lệ — nguyên văn như trong tệp, theo thứ tự xuất hiện — vào tệp diem_sach.csv; in số dòng hợp lệ, số dòng hỏng và điểm trung bình của các dòng hợp lệ (:.2f; không có dòng hợp lệ thì in 0.00).
Cách nộp trên hệ thống chấm. Hệ thống chỉ so dữ liệu ra chuẩn, không đọc được tệp bài làm ghi ra, nên bài được chuyển dạng:
- nội dung
diem.csvđưa vào qua dữ liệu vào (đọc bằngfor dong in sys.stdin:, Phụ lục D mẫu 7);- dòng 1 in kết quả thống kê như đề gốc;
- các dòng sau in nội dung tệp
diem_sach.csv(mỗi dòng hợp lệ một dòng) — tức là thayf.write(dong + "\n")bằngprint(dong).
Dữ liệu vào
Nội dung tệp diem.csv; tệp không có dòng trống và không có dấu cách.
Kết quả
- Dòng 1:
so_hop_le so_hong diem_trung_binh(trung bình đúng 2 chữ số thập phân). - Các dòng tiếp theo: các dòng hợp lệ, nguyên văn, theo thứ tự trong tệp.
Ràng buộc
- 1 ≤ số dòng ≤ 1000; mỗi dòng tối đa 50 ký tự ASCII in được.
- Điểm không viết dạng khoa học (
1e1) và không phảinan,inf, không chứa dấu gạch dưới_.
Ví dụ
Dữ liệu vào:
23010001,7.5
2301002,8
23010003,11
23010004,9
Kết quả:
2 2 8.25
23010001,7.5
23010004,9
Giải thích ví dụ
2301002,8: mã chỉ có 7 chữ số → hỏng.23010003,11: điểm 11 ngoài [0; 10] → hỏng.- Hai dòng hợp lệ có điểm 7,5 và 9: trung bình (7,5 + 9) / 2 = 8,25.
Dòng 23010004,9 được chép nguyên văn (9, không phải 9.0). Dòng thống kê của sách là dòng 1; hai dòng sau chính là nội dung diem_sach.csv.
Nguồn trong sách: Bài C9-08, mục 9.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...