Kiểm tra đơn hàng trong hệ thống bán hàng trực tuyến
Lớp 10Lập trìnhpythonGiải quyết vấn đề với máy tínhVận dụng cao
Thang điểm 10 · 6 test case chấm tự động · 4 tiêu chí chấm
Một cửa hàng trực tuyến lưu giá của n loại sản phẩm trong một danh sách (đơn vị: đồng). Khi khách đặt hàng, hệ thống nhận vào chỉ số sản phẩm khách chọn (đánh số từ 0) và số lượng muốn mua, sau đó tính:
tổng tiền = giá[chỉ số] * số lượnggiá trung bình mỗi sản phẩm = tổng tiền / số lượng
Vì dữ liệu do khách nhập có thể không hợp lệ, hệ thống phải tự kiểm tra trước hai khả năng sinh lỗi ngoại lệ sau, theo đúng thứ tự ưu tiên:
- Nếu chỉ số sản phẩm nằm ngoài phạm vi danh sách (nhỏ hơn 0 hoặc lớn hơn hoặc bằng
n) → in:Lỗi: IndexError - chỉ số sản phẩm không tồn tại trong danh sách - Nếu số lượng mua bằng 0 → in:
Lỗi: ZeroDivisionError - số lượng mua phải lớn hơn 0 - Nếu không có lỗi → in tổng tiền và giá trung bình mỗi sản phẩm (mỗi giá trị một dòng)
Định dạng vào/ra:
- Dòng 1: số nguyên
n(số loại sản phẩm) - Dòng 2:
nsố nguyên là giá các sản phẩm, cách nhau bởi dấu cách - Dòng 3: số nguyên
idx(chỉ số sản phẩm khách chọn) - Dòng 4: số nguyên
so_luong(số lượng mua)
| Input | Output | Giải thích |
|---|---|---|
| 3 50000 70000 120000 1 2 | Tổng tiền: 140000 Giá trung bình mỗi sản phẩm: 70000.0 | Sản phẩm chỉ số 1 giá 70000, mua 2 cái, không có lỗi |
| 3 50000 70000 120000 5 2 | Lỗi: IndexError - chỉ số sản phẩm không tồn tại trong danh sách | Chỉ có 3 sản phẩm (chỉ số 0-2) nhưng chọn chỉ số 5 |
| 3 50000 70000 120000 0 0 | Lỗi: ZeroDivisionError - số lượng mua phải lớn hơn 0 | Số lượng mua bằng 0 sẽ gây lỗi khi chia |
#IndexError#ZeroDivisionError#danh sách#phân loại lỗi#tổng hợp#category:danh_gia#difficulty:analyzing
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