要求: Readme: 運行程式,輸入薪水,根據商品列表的序號選擇購買的商品,可以選擇多次購買,或者不購買 流程圖: 代碼: ...
要求:
- 啟動程式後,讓用戶輸入工資,然後列印出帶有序號的商品列表
- 用戶輸入商品序號購買相應的商品,或者輸入 ' q ' 退出購買界面
- 選擇商品後,檢查餘額是否足夠,夠則直接扣款,不夠則提示餘額不足
- 用戶每購買一件商品後,或者輸入 ' q ' 退出購買界面後,提示:是否繼續購買?(Y/N),實現多次購買
- 若用戶購買了商品,列印出購買的商品列表,總金額,餘額;若用戶沒買任何商品,列印:交易結束,購物失敗
Readme:
運行程式,輸入薪水,根據商品列表的序號選擇購買的商品,可以選擇多次購買,或者不購買
流程圖:
代碼:
1 # 簡單的購物小程式 2 3 product_list = [ 4 ['surface pro 4', 7800], 5 ['dell xps 15', 12000], 6 ['macbook', 12000], 7 ['小米6', 2499], 8 ['iphone7', 4600], 9 ['堅果Pro', 1499] 10 ] 11 shopping_list = [] 12 13 14 # 判斷輸入的薪水格式是否正確 15 while True: 16 salary = input('\n請輸入您的薪水:') 17 if not salary.isdigit(): # 薪水不是數字,結束迴圈 18 print('\n輸入格式有誤!請重新輸入...') 19 continue 20 break 21 22 23 balance = salary = int(salary) 24 25 print('\n-----------歡迎購買------------\n') 26 27 # 生成帶序號的商品列表 28 for index, item in enumerate(product_list): 29 print(index, item) 30 31 32 # 判斷輸入的序號是否符合要求 33 while True: 34 35 while True: 36 i = input('\n輸入您要購買的商品序號,或輸入 q 取消購買:') 37 if i == 'q': # 輸入 q 退出購買界面 38 while True: 39 a = input('\n是否繼續購買?(Y/N):') 40 if a != 'n' and a != 'N' and a != 'y' and a != 'Y': 41 print('\n輸入格式有誤,請重試...') 42 continue 43 elif a == 'y' or a == 'Y': # 繼續購買 44 break 45 else: # 購買完畢 46 if balance == salary: # 沒有買任何東西 47 print('\n交易結束,購買失敗...') 48 exit() 49 else: # 結算 50 print('\n您已成功購買以下商品:\n') 51 for item in shopping_list: 52 print(item) 53 print('\n共消費金額 %d 元,餘額 %d 元' % (salary - balance, balance)) 54 exit() 55 continue 56 57 if not i.isdigit(): # 序號不是數字,結束迴圈 58 print('\n輸入格式有誤!請重新輸入...') 59 continue 60 61 i = int(i) 62 63 if i < 0 or i >= len(product_list): # 序號範圍不正確,結束迴圈 64 print('\n此商品不存在,請重新輸入...') 65 continue 66 break 67 68 product = product_list[i] 69 price = int(product[1]) 70 71 # 判斷餘額是否充足,夠就直接扣款,不夠提醒 72 if price <= balance: 73 balance -= price 74 shopping_list.append(product_list[i]) 75 print('\n您已成功購買 %s ,當前餘額為 %d 元' %(product, balance)) 76 else: 77 print('\n購買失敗,您的餘額不足...') 78 79 while True: 80 a = input('\n是否繼續購買?(Y/N):') 81 if a != 'n' and a != 'N' and a != 'y' and a != 'Y': 82 print('\n輸入格式有誤,請重試...') 83 continue 84 break 85 86 if a == 'Y' or a == 'y': 87 continue 88 else: 89 break 90 91 if balance == salary: 92 print('\n交易結束,購買失敗...') 93 exit() 94 else: 95 print('\n您已成功購買以下商品:\n') 96 for item in shopping_list: 97 print(item) 98 print('\n共消費金額 %d 元,餘額 %d 元' %(salary-balance, balance)) 99 exit()