要求:git
Readme:小程序
運行程序,輸入薪水,根據商品列表的序號選擇購買的商品,能夠選擇屢次購買,或者不購買app
流程圖:iphone
代碼:spa
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()