Python入門基礎—購物車小程式

Mifen發表於2018-11-27

1.購物車小程式:

1.1使用者輸入工資取60%

1.2列印輸出商品選單

1.3由使用者輸入數字選擇

#__author:Mifen
#date: 2018/11/27

# 購物車程式


#把工資作為賬戶的餘額
salary = int (input(`你的工資為:`))
funds = salary * 0.6  # 取工資的60%

#自定義本地商品資料列表[商品名稱,價格,庫存]
menu = [[`保留使用,不存資料`],[`iPhone7`,6000,30],[`Notebook`,9000,30],[`coffee`,32,30],[`Pythonbook`,80,30],[`bike`,2000,30]]
count = len(menu) #統計本地商品種類數
#定義一個空列表儲存購買商品
shopping_cart = []

for i in range(1,count): #迴圈獲取列表資料
    #輸出商品資訊
    print(```%d.商品名稱:%s
             價格:%d
             庫存:%d```
              % (i,menu[i][0],menu[i][1],menu[i][2]),end=`	`)
    print()

print(`賬戶餘額¥%.2f` % funds)
user_select = int(input(`輸入購買的商品前的序號(886退出):`))

while True:

    if 0<user_select < count: 
        print(```商品名稱:%s 
價格¥:%d 
庫存:%d```
              % (menu[user_select][0], menu[user_select][1], menu[user_select][2])) #顯示該商品資訊
        if funds < menu[user_select][1]: #判斷餘額是否能買一件改商品
            print(`%s 單價為¥ %d/件,當前餘額¥ %d` % (menu[user_select][0],menu[user_select][1],funds))
            user_select = int(input(`請重新輸入購買的商品前的序號(886退出):`))
            continue
        else:
            if menu[user_select][2]: #判斷是否還有庫存
                buy = int(input(`請輸入購買數量:`))
                price = int(menu[user_select][1]) * buy #總價
                if price < funds: #判斷餘額是否夠付款
                    entrepot = menu[user_select][2] - buy  # 庫存減少
                    menu[user_select][2] = entrepot  # 更新庫存
                    shopping_cart.append([menu[user_select][0],menu[user_select][1],buy,price])#新增到購物車
                    funds = funds - price #結算
                    print(`結算成功,當前餘額為¥ %d` % funds)
                    user_select = int(input(`輸入購買的商品前的序號(886退出):`))
                else:
                    print(`%d 件 %s 總價為¥ %d ,當前餘額¥ %d,重新選擇` % (buy,menu[user_select][0], price, funds))
                    continue
            else:
                print(`庫存不足`)
                user_select = int(input(`輸入購買的商品前的序號(886退出):`))
    elif user_select == 886:
        print(`多謝惠顧!`)
        break
    else:
        print(`Wrong input`)
        user_select = int(input(`輸入購買的商品前的序號(886退出):`))

  

 

相關文章