Vẽ biểu đồ cột rồi tóm tắt lại số liệu của hình vẽ
Biểu đồ cột là cách nhanh nhất để so sánh vài giá trị rời rạc. Khi viết thư viện kiểm
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, python-lists.
Nội dung đề bài
Mô tả bài toán
Biểu đồ cột là cách nhanh nhất để so sánh vài giá trị rời rạc. Khi viết thư viện kiểm thử cho phần vẽ hình, ta thường phải đọc ngược lại từ đối tượng hình vẽ: hình có bao nhiêu cột, cột cao nhất là bao nhiêu, tổng chiều cao là bao nhiêu. Bài này luyện đúng vòng đó — vẽ thật bằng Matplotlib rồi trả về phần tóm tắt.
Yêu cầu
Viết hàm bar_chart_summary(values):
- Nếu values rỗng thì ném ValueError.
- Tạo hình vẽ bằng plt.subplots(), gọi ax.bar để vẽ một cột cho mỗi giá trị và đặt
tiêu đề cùng nhãn cho hai trục.
- Đọc lại chiều cao của từng cột từ đối tượng mà ax.bar trả về, rồi trả về dict
{"bars": số cột, "tallest": chiều cao lớn nhất, "total": tổng chiều cao}.
Quy ước nộp bài
Nộp hàm bar_chart_summary trong solution.py. Hệ thống gọi hàm trực tiếp theo tên đối số, chạy ở chế độ hình vẽ không cửa sổ, so giá trị trả về với sai số 1e-6; không đọc dữ liệu từ stdin và không in ra stdout.
Input
- values: danh sách từ 1 đến 20 số nguyên hoặc số thực, cho phép giá trị âm và giá
trị bằng 0.
Output
Dict có đúng ba khoá bars, tallest, total. bars là số cột đã vẽ, tallest là chiều cao lớn nhất trong các cột, total là tổng chiều cao của tất cả các cột.
Ràng buộc
- Danh sách rỗng phải ném ValueError, không được trả về bộ số 0.
- Số liệu tóm tắt phải lấy từ hình vẽ vừa tạo, không sao chép lại từ values.
- Không trả về Figure hay Axes; chỉ trả về dict chứa số.
Ví dụ 1
Input
bar_chart_summary(values=[3, 7, 5])
Output
{"bars": 3, "tallest": 7, "total": 15.0}
Ví dụ 2
Input
bar_chart_summary(values=[4])
Output
{"bars": 1, "tallest": 4, "total": 4.0}
Giải thích
Với values = [3, 7, 5] hình vẽ có 3 cột, cột cao nhất cao 7, tổng chiều cao là 3 + 7 + 5 = 15, nên hàm trả về {"bars": 3, "tallest": 7, "total": 15.0}.
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
