"""
功能要求:
1.要求用戶輸入自己擁有的總資產,例如:2000
2.顯示商品列表的序號,商品名稱,商品價格,讓用戶根據序號選擇商品,然后加入購物車
例如:
1 電腦 1999
2 鼠標 10
3 游艇 20
3.用戶可以多次購買商品
4.用戶輸入q退出|輸入n結算
5.結算的時候如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。
goods = [
{"name": "電腦", "price": 1999},
{"name": "鼠標", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
"""
goods = [
{"name": "電腦", "price": 1999},
{"name": "鼠標", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}]
1 account=int(input("請輸入您的資產:")) 2 i=0 3 dic={} 4 for el in goods: 5 i+=1 6 dic.setdefault(str(i)+el["name"],el["price"]) #使用字符串拼接,把序號加到鍵前面 7 print(dic) 8 9 lst=[] #創建一個列表形式的購物車 10 money=0 #購物車中初始值為0 11 while 1: 12 ret=input("請輸入您要買的東西序號(q退出.n結算):").strip() 13 if ret.isdigit(): 14 for el in dic: 15 if ret == el[0]: #利用切片得到商品序號,判斷用戶輸入的序號是否是商品序號 16 lst.append(el[1:]) #將商品添加到列表中 17 money +=dic[el] #計算購物車中商品的總價 18 print("購物車中有:%s,消費總額為%s"%([i for i in lst],money)) 19 20 elif ret.upper()=="Q": #執行退出操作 21 print("退出成功!\n余額還有%s"%account) 22 break 23 elif ret.upper()=="N": #執行結算操作 24 blance=account-money #余額 = 資產 - 消費總額 25 if blance <0: 26 print("您的余額不足!!!") 27 else: 28 print("購買成功,花費了%d,余額還剩%s"%(money,blance)) 29 break 30 else: 31 print("輸入有誤,請再次輸入!!!")