pyhton購物程序

要求:git

  1. 啓動程序後,讓用戶輸入工資,而後打印出帶有序號的商品列表
  2. 用戶輸入商品序號購買相應的商品,或者輸入 ' q ' 退出購買界面
  3. 選擇商品後,檢查餘額是否足夠,夠則直接扣款,不夠則提示餘額不足
  4. 用戶每購買一件商品後,或者輸入 ' q ' 退出購買界面後,提示:是否繼續購買?(Y/N),實現屢次購買
  5. 若用戶購買了商品,打印出購買的商品列表,總金額,餘額;若用戶沒買任何商品,打印:交易結束,購物失敗

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()
相關文章
相關標籤/搜索