程式:購物車程式 需求: 程式如下: 註:程式參照老男孩Alex,附博客地址:http://www.cnblogs.com/alex3714/articles/5717620.html ...
程式:購物車程式
需求:
- 啟動程式後,讓用戶輸入工資,然後列印商品列表
- 允許用戶根據商品編號購買商品
- 用戶選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒
- 可隨時退出,退出時,列印已購買商品和餘額
程式如下:
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 # @Time : 2018/4/28 16:23 4 # @Author : yang 5 # @File : Shopping_Cart_Program01.py 6 # @Software: PyCharm 7 #定義商品列表 8 product_list = [('Iphone',6000), 9 ('MAC Pro',9800), 10 ('Bike',800), 11 ('Watch',10600), 12 ('Coffee',31), 13 ('Alex python',120),] 14 shopping_list = [] #定義空的購物車列表 15 #輸入工資 16 salary = input('Input your salary:') 17 if salary.isdigit(): 18 salary = int(salary) 19 #迴圈輸入需要購買的商品編號 20 while True: 21 # enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字元串)組合為一個索引序列 22 for index,item in enumerate(product_list): 23 print(index,item) #列印輸出帶編號的商品列表 24 user_choice = input('選擇要買的商品編號>>>:') #輸入要購買的商品編號 25 if user_choice.isdigit()==False and user_choice.upper() != 'Q': 26 print('\033[1;43m你輸入的商品編號不合法!\033[0m') 27 exit() 28 elif user_choice.isdigit()==True: #判斷輸入的字元串是否由數字組成 29 user_choice = int(user_choice) 30 if user_choice < len(product_list) and user_choice >=0: 31 p_item = product_list[user_choice] 32 if p_item[1] <= salary: #買得起 33 shopping_list.append(p_item) 34 salary -= p_item[1] 35 print('將商品%s添加到購物車,剩餘金額\033[1;31;42m%s\033[0m'%(p_item,salary)) 36 #高亮顯示:開頭部分:\033[顯示方式;前景色;背景色m + 結尾部分:\033[0m 37 else: #買不起 38 print('\033[1;41m你的餘額只剩[%s]啦,還買個毛線!\033[0m'%salary) 39 else: 40 print('\033[1;41m商品%s不存在!\033[0m'%user_choice) 41 42 #退出購物車程式:列印輸出購物列表和餘額 43 elif user_choice.upper() == 'Q': 44 print('---------------shopping list---------') 45 for p in shopping_list: 46 print(p) 47 print('你的餘額還剩:',salary) 48 exit() 49 else: 50 exit() 51 else: #如果輸入的工資不合法,則退出程式 52 print('您輸入的工資不合法!') 53 exit()
註:程式參照老男孩Alex,附博客地址:http://www.cnblogs.com/alex3714/articles/5717620.html