Môn Tin họcQuản lý học tập Tin học

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ượng
  • giá 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: n số 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)
InputOutputGiả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áchChỉ 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 0Số 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ài