Python Bài 11.B2: Hệ thống order đồ uống
LÀM BÀI
Points:
15 (partial)
Time limit:
2.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Python
Mô tả
Xây dựng hệ thống quản lý đặt đồ uống cho một quán cafe với các chức năng: thêm đồ uống vào menu, tạo đơn hàng, thêm đồ uống vào đơn và tính tổng tiền.
INPUT FORMAT
- Dòng đầu: số nguyên N là số lệnh cần thực hiện
- N dòng tiếp theo, mỗi dòng là một trong các lệnh sau:
DRINK <loại> <tên> <giá>
: Thêm đồ uống mới vào menu- loại: "coffee" hoặc "tea"
- tên: chuỗi trong dấu ngoặc kép
- giá: số nguyên dương
ORDER <mã_đơn> <tùy_chỉnh>
: Tạo đơn hàng mới- mã_đơn: chuỗi định dạng "Oxxx" (xxx là 3 chữ số)
- tùy_chỉnh: các option cách nhau bởi dấu phẩy trong dấu ngoặc kép
- "hot": thêm 5% giá
- "sugar": thêm 2000đ
- "milk": thêm 5000đ
ADD <mã_đơn> <mã_đồ_uống>
: Thêm một đồ uống vào đơn hàng- mã_đơn: mã đơn hàng đã tạo
- mã_đồ_uống: mã đồ uống định dạng "Dxxx"
TOTAL <mã_đơn>
: In ra tổng tiền của đơn hàngLIST
: In ra danh sách đồ uống trong menu
OUTPUT FORMAT
- Lệnh
DRINK
: In "Added to menu" - Lệnh
ORDER
: In "Order created" - Lệnh
ADD
: In "Item added" - Lệnh
TOTAL
: In "Total: X.Y" (X.Y là tổng tiền có 1 chữ số thập phân) - Lệnh
LIST
: In danh sách đồ uống theo định dạng:<mã_đồ_uống> | <loại> | <tên> | <giá>
Ví dụ
Input:
7
DRINK coffee "Espresso" 25000
DRINK tea "Green Tea" 20000
LIST
ORDER O001 "hot,sugar"
ADD O001 D001
ADD O001 D002
TOTAL O001
Output:
Added to menu
Added to menu
D001 | coffee | Espresso | 25000
D002 | tea | Green Tea | 20000
Order created
Item added
Item added
Total: 49250.0
Giải thích
- Hai đồ uống được thêm vào menu với mã tự động D001, D002
- Lệnh LIST in ra toàn bộ menu
- Đơn hàng O001 được tạo với tùy chỉnh hot (+5%) và sugar (+2000đ)
- Thêm cả 2 đồ uống vào đơn
- Tổng tiền = (25000 + 20000) * 1.05 + 2000 = 49750
Kiến thức cần nắm
- OOP với Python:
- Abstract Class: Tạo class Beverage làm template
- Inheritance: Coffee, Tea kế thừa từ Beverage
- Encapsulation: Quản lý thuộc tính private
- Polymorphism: Override phương thức tính giá
- String handling: Xử lý input/output theo định dạng
- Collections: Quản lý danh sách đồ uống và đơn hàng
Comments