Soi lỗi chương trình thống kê đơn hàng TechZone
Thang điểm 10 · 5 test case chấm tự động · 4 tiêu chí chấm
Cửa hàng trực tuyến TechZone ghi lại số lượng đơn hàng bán được mỗi ngày trong n ngày liên tiếp. Bạn Lan viết chương trình Python để tính tổng số đơn hàng trong cả kỳ và tìm ra ngày bán chạy nhất (ngày có số đơn hàng nhiều nhất, đánh số ngày từ 1; nếu có nhiều ngày cùng đạt số lượng cao nhất thì chọn ngày sớm nhất). Tuy nhiên chương trình của Lan cho kết quả sai. Đoạn code của Lan như sau:
n = int(input())A = []for i in range(n):A.append(int(input()))tong = 0for i in range(1, n):tong = tong + A[i]max_val = A[0]max_idx = 0for i in range(n):if A[i] >= max_val:max_val = A[i]max_idx = iprint(tong)print(max_idx + 1)
Em hãy tìm ra 2 lỗi trong đoạn code trên (một lỗi liên quan đến vùng giá trị của range() khi tính tổng, một lỗi liên quan đến phép so sánh khi tìm ngày bán chạy nhất) và viết lại chương trình đã sửa đúng.
Định dạng vào: dòng đầu là số nguyên n; n dòng tiếp theo, mỗi dòng là một số nguyên (số đơn hàng của một ngày).
Định dạng ra: 2 dòng — dòng 1 là tổng số đơn hàng của n ngày, dòng 2 là số thứ tự ngày (đếm từ 1) có số đơn hàng nhiều nhất; nếu có nhiều ngày bằng nhau thì in ra ngày sớm nhất.
Input | Output | Giải thích |
|---|---|---|
5 10 25 25 8 15 | 83 | Tổng = 83; giá trị lớn nhất 25 xuất hiện lần đầu ở ngày 2 |
3 5 5 5 | 15 | 3 ngày bằng nhau, chọn ngày sớm nhất là ngày 1 |
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 10
- Xét kết quả Đạt / Không đạt · Lập trình
- Cân lại mẫu đá thiên thạch trên các hành tinh khác · Lập trình
- Khám phá tên đăng nhập mạng xã hội · Lập trình
- Tính điểm trung bình 3 môn thi · Lập trình
- Tìm lỗi: Tổng lượt xem video theo ngày · Lập trình
- Tra cứu điểm số theo chỉ số danh sách · Lập trình