vosky

导航

【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.购物车中输出内容的格式未更改

  欢迎批评指正!谢谢

  

posted on 2017-12-26 23:26  vosky  阅读(92)  评论(0)    收藏  举报