購物車小程序

購物車小程序:git

 

 1 # __author:"Cheng"
 2 # date:2018/2/14
 3 
 4 product_list = [    # 由於商品和價格這裏不許備改,因此用元組 。
 5 
 6     ('巧克力', 128),
 7     ('吹風機', 218),
 8     ('自行車', 688),
 9     ('掃地機器人', 1280),
10     ('筆記本電腦', 3888),    # 元組最後面都要加逗號。
11 
12 ]
13 # 能夠給兩個變量一塊兒賦值,例如a,b = [2,3]。分析:a和b變量分別賦值2和3
14 saving = input('存多少錢到購物卡:')  # saving就是你剛剛輸入的錢,存了多少錢在你的帳戶
15 shop_car = []   # 定義一個空列表,爲下面加入該購物車做準備。
16 if saving.isdigit():    # 判斷saving是不是數字。
17     saving = int(saving)    # 是的話把saving轉化爲整型。
18     while True:  # 死循環,不斷打印商品列表讓用戶選擇。
19 
20         for goods_num, goods in enumerate(product_list, 1):  # for後面跟的goods_num和goods 能夠分別把列表中的兩個元素分別賦值 。
21             print(goods_num, '--------', goods)    # enumerate的做用只有一個,那就是加序號。編號並不等於索引,二者沒關聯。
22         usr_choice = input('請選擇您要購買的商品序號【Q退出】:')     # 將用戶選擇的序號賦值給usr_choice變量。
23         if usr_choice.isdigit():    # 判斷用戶是否輸入數字
24             usr_choice = int(usr_choice)    # 把字符串改爲數字
25             if usr_choice > 0 and usr_choice <= len(product_list):    # 判斷用戶選擇的序號是否超過商品序號或者是負數。
26                 c_item = product_list[usr_choice - 1]   # 這裏c_item表示用戶選擇的商品,含品名與價格。那麼爲何後面的列表索引減1,由於程序是從0開始,用戶看到的是從1開始的編號,所以要減1才符合程序所識別的正確位置(索引)
27                 if c_item[1] < saving:   # c_item[1]表明該商品價格,1表明所在列表的第2個元素,而此處第2個元素爲該商品價格。
28                     saving -= c_item[1]     # 若是商品價格不超過saving(購物卡),那麼就用購物卡金額減去商品價格。
29                     shop_car.append(c_item)     # 將c_item 追加至購物車。這裏c_item表示用戶選擇的商品,含品名與價格。
30                     print('---------當前購物車---------')
31                     for i in shop_car:
32                         print(i)
33                     print('餘額:%s元'%saving)
34                 else:
35                     print('餘額不足!當前餘額:%s元'%saving)
36                     print('---------您已購買以下商品---------')
37                     for i in shop_car:
38                         print(i)
39                     print('您還剩%s元!' % saving)
40                     while True:
41                         add_money = input('是否充值,「是」 請輸入充值金額,「否」 請按Q退出(回車確認):')
42                         if add_money.isdigit():
43                             add_money = int(add_money)
44                             new_saving = 0
45                             new_saving = saving + add_money
46                             saving = new_saving
47                             print('充值成功,當前餘額%s元!'%saving)
48                             break
49                         else:
50                             print('請按要求輸入!')
51 
52             else:
53                 print('請輸入商品範圍的序號!')    # 若是選擇的序號不在所提供範圍,彈出提示。
54 
55         elif usr_choice == 'q':     # 若是用戶輸入q,那麼程序結束運行,打出歡迎下次光臨。
56             print('---------您已購買以下商品---------')
57             for i in shop_car:
58                 print(i)
59             print('您還剩%s元!'%saving)
60             print('---------歡迎下次光臨---------')
61             break
62         else:
63             print('序號請輸入數字!')
64 
65 else:
66     input('錢請輸入數字,OK?')
相關文章
相關標籤/搜索