欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python学习-购物车程序

程序员文章站 2022-07-02 14:36:47
程序:购物车程序 需求: 程序如下: 注:程序参照老男孩Alex,附博客地址:http://www.cnblogs.com/alex3714/articles/5717620.html ......

程序:购物车程序

需求:

  1. 启动程序后,让用户输入工资,然后打印商品列表
  2. 允许用户根据商品编号购买商品
  3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 
  4. 可随时退出,退出时,打印已购买商品和余额

程序如下:

 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