python實現簡單購物車

2021-08-21 16:55:25 字數 3594 閱讀 6267

#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 商品...