Bài 18
Đề bài: Ket hop dictionary và list de quan ly kho hang.
Moi san phàm có ten, số lượng, don gia.
Tính tong giá trị kho, tìm san phàm dat nhat, re nhat.
Cap nhat số lượng khi ban hang.
Ví dụ:
Kho: {"Tạo": (100, 15000), "Cam": (50, 20000), "Xoai": (30, 35000)}
Kết quả:
Tong giá trị kho = 3,550,000 dong
San phàm dat nhat: Xoai (35,000 dong/cai)
San phàm re nhat: Tạo (15,000 dong/cai)
Đăng nhập để giáo viên có thể giao bài và nhận bài nộp của bạn.
Câu trả lời
kho = {}
n = int(input("Nhap so loai san pham: "))
for _ in range(n):
ten = input(" Ten san pham: ")
sl = int(input(" So luong: "))
don_gia = int(input(" Don gia (dong): "))
kho[ten] = (sl, don_gia)
# Tong gia tri kho
tong = sum(sl * gia for sl, gia in kho.values())
print(f"\nTong gia tri kho = {tong:,} dong")
# Dat/re nhat theo don gia
dat_nhat = max(kho.items(), key=lambda x: x[1][1])
re_nhat = min(kho.items(), key=lambda x: x[1][1])
print(f"San pham dat nhat: {dat_nhat[0]} ({dat_nhat[1][1]:,} dong/cai)")
print(f"San pham re nhat: {re_nhat[0]} ({re_nhat[1][1]:,} dong/cai)")
# Ban hang
ten_ban = input("\nNhap ten san pham ban: ")
sl_ban = int(input("So luong ban: "))
if ten_ban in kho:
sl_cu, gia = kho[ten_ban]
if sl_ban <= sl_cu:
kho[ten_ban] = (sl_cu - sl_ban, gia)
print(f"Da ban {sl_ban} {ten_ban}. Con lai: {sl_cu - sl_ban}")
else:
print(f"Khong du hang! Chi con {sl_cu} {ten_ban}")