python学习(8)实例:写一个简单商城购物车的代码

要求:

1、写一段商城程购物车序的代码
2、用列表把商城的商品清单存储下来,存到列表 shopping_mail
3、购物车的列表为shopping_cart
4、用户首先输入工资金额,判断输入为数字
5、用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价
6、判断用户金额是否足够,不足够提示用户
7、如果用户不想再继续购物,则按Q键退出菜单
8、用户退出之后,将用户购买的清单打印出来。
9、尽量学习带颜色输出几个重点信息字符。

 

 1 # Author:show530
 2 
 3 shopping_mail = [
 4     ('Iphone',5800),
 5     ('Mac Pro',9800),
 6     ('Bike',800),
 7     ('Watch',10600),
 8     ('Coffee',31),
 9     ('Alex Python',120),
10 ]
11 shopping_cart = []
12 
13 salary=input("请输入您的工资金额:")
14 if salary.isdigit():
15    salary=int(salary)
16    while True:
17        for index,item in enumerate(shopping_mail):
18            print(index,item)
19        enter_number=input("请输入您要购买的商品编号:")
20        if enter_number.isdigit():
21            enter_number=int(enter_number)
22            if enter_number>-1 and enter_number<len(shopping_mail):
23                p_item=shopping_mail[enter_number]
24                if p_item[1]<=salary:
25                    shopping_cart.append(p_item)
26                    salary-=p_item[1]
27                    print("您选购的商品金额是:\033[31m%s\033[0m,您的工资余额为:\033[31m%s\033[0m" % (p_item, salary))
28                else:
29                    print("您的余额不足,无法继续购买!")
30            else:
31                  print("您输入的商品编号不存在:")
32        elif enter_number=="q":
33            print("\033[0;32;40m------您本次购物清单为-------\033[0m")
34            for p in shopping_cart:
35                print(p)
36            print("您的余额为:\033[31m%s\033[0m"%(salary))
37            exit()
38        else:
39                print("\033[31m输入有误,必须输入数字或者正整数!\033[0m")

 

这个程序花了我较多时间,差不多一个晚上都在反复思考这个。

1、salary.isdigit()还不是太熟悉,这个方法的作用是检查用户输入的是否为数字,不过不知道为什么,输入浮点数也会报错。负数貌似也会报错。这里先囫囵吞枣一下。

2、对于多层嵌套循环还不熟悉,开始一直输出出现问题,主要原因就是嵌套格式不对。以后写程序之前要注意画一下流程图。

3、学习了颜色输出的用法。

posted @ 2018-03-15 11:43  洪韬  阅读(...)  评论(...编辑  收藏