【python学习日记】001_DAY3简易购物车程序
学习python的第三天,尝试了一下简易版的购物车,通过一些简单的条件、循环语句及元组相关知识实现从预设购物车中选购商品、输出已购买清单等功能。
*************************************
1 ('iphoneX', 8288)
2 ('macbook pro', 9288)
3 ('ps4', 3200)
4 ('python book', 80)
5 ('xbox', 2500)
**************************************
由于尚处于菜鸟阶段,所以代码中会存在较多冗余,日后待学习深入再行修改。
第一部分为预设变量
1 a=[ 2 ('iphoneX',8288), 3 ('macbook pro',9288), 4 ('ps4',3200), 5 ('python book',80), 6 ('xbox',2500) 7 ] #预设购物车元组 8 b=[] #已购买清单 9 pay = 0 #花费
第二部分为输入账户金额(模拟充值)
1 while True: 2 salary = input("salary:") 3 if salary.isdigit(): 4 salary=int(salary) 5 break 6 else: #需要对输入的值进行判断,如果不是数字,要求重新输入 7 print("输入的不是一个数值!")
第三部分为输出用户选择及主功能实现
1 while True: 2 for i in range(0,len(a)): #通过循环语句依次输出购物车中剩余商品 3 if a[i] in b: 4 continue 5 print(i+1,a[i]) 6 choice=input("选择要购买商品的序号/退出请输入quit>>>") 7 if choice.isdigit(): 8 choice=int(choice) 9 if choice != 'quit': #用户进行购买操作 10 if a[choice-1][1]>salary: 11 print("账户余额不足,%d" % (salary-a[choice-1][1])) 12 break 13 else: 14 print("已购得%s,当前账户余额%d" % (a[choice-1][0],salary-a[choice-1][1])) 15 pay +=a[choice-1][1] #花费金额 16 b.append(a[choice-1]) #购买商品添加到已购清单中 17 salary=salary-a[choice-1][1] #账户剩余金额 18 else:#用户选择退出操作 19 print("您已购买以下商品") 20 for ii in range(0,len(b)): #依次输出已购清单中的值 21 print(b[ii][0]) 22 print("您的账户余额为:%d" % (salary)) 23 print("欢迎下次光临") 24 break
本代码尚存几点问题:
1.元组中的数据无法删除,导致进行一次购买操作后,其序号仍为原序号,无法进行重新编号;
2.购物车中输出内容的格式未更改
欢迎批评指正!谢谢
浙公网安备 33010602011771号