#encoding = utf-8
''' @author:xianyt
@vertion:python3
@date:20180723
''''''
21、 模擬實現選購商品
1) 列出所有商品的編號、名稱和**
2) 選擇多個商品
3) 檢視已經選擇的商品 單價 小計 和 總價
4) 支付(輸入實付金額、折扣,輸出購物清單、總計、實付、找零)
實現流程和邏輯::
1) 建立巢狀list,儲存若干商品的編號、名稱和**
2) 提示選擇項 1-》查詢商品, 2-》結算, 3-》退出
3) 查詢商品功能:
i) 顯示商品列表
iii) 選擇選購商品,提示輸入商品編號,新增成功,進入ii)
4) 結算功能:
i) 顯示選購商品列表
ii) 輸入實付金額和折扣
iii) 計算結果
5) 退出功能:退出程式
'''import sys
''' 實現顯示所有商品列表
'''def viewgoodlist():
print("序號\t商品編號\t商品名稱\t單價")
index = 1;
for goodlist in goods:
print(index, "\t", goodlist[0], '\t', goodlist[1], '\t', goodlist[2])
index += 1
''' 查詢buynumber在商品列表中的位置,不存在返回-1
'''def findgoodnum(buynumber):
index = 0
for good in goods:
if good[0] == buynumber:
return index
index += 1;
return -1
''' 加入購物車,需要輸入引數(商品編號,數量)
'''def buygood():
while true:
buynumber = input("請輸入想要購買商品的編號")
if findgoodnum(buynumber) == -1:
print("請輸入正確的商品編號!")
continue
while true: #判斷輸入數量是否是數值型資料
buycount = input("請輸入商品的數量")
if buycount.isdigit():
break
else:
print("請輸入正確的數字型資料!")
buycount = int(buycount)
if shopcar.__contains__(buynumber):
shopcar[buynumber] = shopcar.get(buynumber) + buycount
else:
shopcar.update()
print("********已成功更新購物車***********")
conti = input("是否繼續加入商品,退出按f/f鍵,按任意鍵繼續")
if conti == 'f' or conti == 'f' :
break;
''' 檢視購物車,列印輸出shopcar裡的商品編號及數量
'''def lookgood():
print("序號\t\t商品編號\t\t商品名稱\t\t單價\t\t數量")
index = 1;
tempgoods =
print(shopcar.values())
for shopcarvalue in shopcar.keys():
tempgoods = goods[findgoodnum(shopcarvalue)]
print(index, '\t\t', shopcarvalue, '\t\t', tempgoods[1], '\t\t', tempgoods[2], '\t\t', shopcar.get(shopcarvalue))
index += 1
''' 實現查詢商品
'''def searchgoods():
while true:
schoice = input()
if schoice == '1':
viewgoodlist();
elif schoice == '2':
buygood()
elif schoice == '3':
lookgood()
elif schoice == '4':
break
else:
print('請輸入正確的選項!')
''' 結算商品
'''def account():
if not shopcar:
print("購物車為空,快去**逛逛吧")
return -1;
totalprice = 0;
lookgood();
for shopcarvalue in shopcar.keys():
tempgoods = goods[findgoodnum(shopcarvalue)]
totalprice += tempgoods[2] * shopcar.get(shopcarvalue)
print("\n總計:", round(totalprice,2));
while true:
money = input("請輸入錄入金額:")
if not money.isdigit():
print("請輸入數字")
elif float(money) < totalprice:
print("支付不足!")
else:
break
money = float(money)
while true:
dicount = input("請輸入折扣")
if dicount == 0 or not dicount.isdigit():
print("折扣輸入錯誤")
else:
break
dicount = float(dicount)/100
print('找零:', round(money-totalprice*dicount,2))
if __name__ == '__main__': #主函式
goods = [
['002', 'banan', 2]
]shopcar = {} # 利用字典在建立購物車
while true:
mychioce = input()
if mychioce == '1':
searchgoods()
elif mychioce == '2':
account()
elif mychioce == '3':
sys.exit(-1)
else:
print("請重新輸入!")
新萌寫**,如果還有什麼不足的地方,歡迎指出 簡單購物車實現
作業二 簡單購物車 實現列印商品詳細資訊,使用者輸入商品名和購買個數,則將商品名,購買個數加入購物列表,如果輸入為空或其他非法輸入則要求使用者重新輸入shopping list while true print 商品選項 msg dic for k,v in msg dic.items 033 44...
Python實現購物車
encoding utf 8 定義列表商品 在這裡插入 片 product list iphone 100 mac 120 watch 218 bike 155 nike 299 adidas 266 shopping list 建立乙個空列表 salary input 使用者輸入工資 if sal...
簡單購物車
簡單購物車,要求如下 實現列印商品詳細資訊,使用者輸入商品名和購買個數,則將商品名,購買個數加入購物列表,如果輸入為空或其他非法輸入則要求使用者重新輸入msg dic good l while true for k in msg dic print k,msg dic k name input 商品...