Sửa lỗi truyền đối số khi tính tổng hóa đơn nhà sách online
Thang điểm 10 · 5 test case chấm tự động · 3 tiêu chí chấm
Nhà sách online SachViet ghi lại giá trị (đơn vị: nghìn đồng) của các đơn hàng trong ngày để tính tổng doanh thu. Nhân viên muốn có hai chế độ tính: tính tổng tất cả đơn hàng (khi loai = 0), hoặc chỉ tính tổng các đơn hàng lớn có giá trị từ 100 (nghìn đồng) trở lên (khi loai khác 0).
Một bạn học sinh đã viết chương trình dùng hàm tinh_tong(hoa_don, loai) nhưng khi chạy bị báo lỗi TypeError: 'int' object is not iterable. Em hãy đọc đoạn code dưới đây, tìm nguyên nhân lỗi và viết lại chương trình hoàn chỉnh cho đúng.
def tinh_tong(hoa_don, loai):S = 0for x in hoa_don:if loai == 0:S = S + xelse:if x >= 100:S = S + xreturn Sdata = input().split()hoa_don = []for s in data:hoa_don.append(int(s))loai = int(input())print(tinh_tong(loai, hoa_don))
Định dạng dữ liệu: Dòng 1 là các giá trị đơn hàng (số nguyên, đơn vị nghìn đồng) cách nhau bởi dấu cách; dòng 2 là số nguyên loai. In ra một số nguyên duy nhất là tổng tiền theo yêu cầu.
| Input | Output |
|---|---|
| 50 120 90 200 60 0 | 520 |
| 50 120 90 200 60 1 | 320 |
| 30 40 20 1 | 0 |
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