功能要求:
- 要求用戶輸入總資產,例如:2000
- 顯示商品列表,讓用戶根據序號選擇商品,加入購物車
- 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。
- 附加:可充值、某商品移除購物車
1
2
3
4
5
6
|
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}, ] money=int(input("請輸入您的總金額:")) cart={}#定義一個空的購物車 #商品列表 for i in goods: print(i["name"],i["price"]) while True: i2=input("請選擇商品,y/Y結算;") #如果選擇結算,則退出循環 if i2.lower()=="y": break; for item in goods: if item["name"]==i2: name=item["name"] #如果購物車已有該商品,數量+1,若美女,則新建字典用於存儲商品信息 if name in cart.keys(): cart[name]["num"]+=1; else: cart[name]={"num":1,'sigle_price':item["price"]} print(cart) #結賬 all_prices=0 for k,v in cart.items(): n=v['sigle_price'] m=v['num'] all_sum=n*m; all_prices+=all_sum; if all_prices>money: print("余額不足") else: print("消費:",all_prices)
下面的實現方法存在點小問題,暫時還未找到解決方案,有懂得的朋友歡迎指正!
""" 功能要求: 要求用戶輸入總資產,例如:2000 顯示商品列表,讓用戶根據序號選擇商品,加入購物車 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。 附加:可充值、某商品移除購物車 """ """ 1.創建空的購物車列表 2.要求用戶輸入金額資產 3.輸入后列出商品列表 4.用戶選擇商品,加入購物車 5.結算,如果商品價格大於用戶總資產提示余額不足,詢問是否刪除商品 6.結算資金充裕,提示購買成功,顯示余額並退出 """ goods = [ {"name": "電腦", "price": 1999}, {"name": "鼠標", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998}, ] cart={"good_list":[],"price_list":[]} #用戶輸入賬戶金額 money=int(input("請輸入您的賬戶金額:")) #打印商品信息 print("Product List:") while True: for k,v in enumerate(goods,1): for i in range(len(goods)): if k-1==i: print(k,goods[i]["name"],goods[i]["price"]) #用戶選擇商品 products=int(input("請選擇你喜歡的商品:")) print("你選擇的商品是:",goods[products-1]["name"],"花費:",goods[products-1]["price"]) #計算選擇商品后的余額 cur_assets=money-goods[products-1]["price"] if cur_assets>0: cart["good_list"].append(goods[products-1]["name"]) #如果資金充足,將商品加入購物車,並結算 cart["price_list"].append(goods[products-1]["price"]) print("你目前的賬戶余額為:",cur_assets,"¥") choose=input("繼續購物,請按'c';結賬,請按'o';顯示信息,請按'l';退出,請按'q'") #查看加入購物車的商品信息 if choose=='l': for prod,val in enumerate(cart["good_list"],1): print(prod,val) break elif choose=='q': print("謝謝惠顧") break; elif choose=='c': continue elif choose=='o': total=sum(cart["price_list"]) if total>money: print("余額不足!") else: print("謝謝,本次花費:",total,'¥',"余額:",money-total,"¥") break; else: print("錯誤,請重新輸入:") else: print("對不起,您的賬戶余額不足!") break