1. 程式人生 > >Python入門基礎---購物車小程式

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

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='\t')
    print()

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

while True:

    if 0<user_select < count: 
        print('''商品名稱:%s \n價格¥:%d \n庫存:%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退出):'))