实现购物车购物功能----优化版本
Posted duguxiren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现购物车购物功能----优化版本相关的知识,希望对你有一定的参考价值。
第一版简单版:
while True: sar=input(‘请输入工资:‘) if sar.isdigit(): sar=int(sar) break else: print(‘请输入正确格式!‘) th=[[‘macbook‘,7000],[‘iphone‘,5000],[‘coffee‘,90],[‘pythonbook‘,40]] for i in th: print(th.index(i),i) lis=[] flag=‘t‘ while flag!=‘q‘: s = int(input(‘请输入你需要的商品序号:‘)) k=0 for j in lis: k=k+j[1] if int(th[s][1])+int(k) > sar: print(‘余额不足‘) else: lis.append(th[s]) sar=sar-k print(‘当前余额是:%d‘%(sar-int(th[s][1])-int(k))) flag=input(‘还要购买吗?y/q‘) if flag ==‘q‘: print(‘您已购买的商品:‘) for m in lis: print(m) print(‘您的余额是%d‘%(sar-int(th[s][1])-int(k))) print(‘欢迎再次光临‘)
第二版修改----知识点:(1)列表和元组可以用多个变量接受,这样易于操作(2)商品序号加判断
while True: sar=input(‘请输入工资:‘) if sar.isdigit(): sar=int(sar) break else: print(‘请输入正确格式!‘) th=[[‘macbook‘,7000],[‘iphone‘,5000],[‘coffee‘,90],[‘pythonbook‘,40]] for i,v in enumerate(th,1): print(i,‘>>>>‘,v) #以上是对实现输入工资是否合理的判断,不合理重新输入 #输入的商品序号做判断:1.非数字2.退出3.超过长度4.空格---嵌套判断 lis=[] while True: s = input(‘请输入你需要的商品序号,退出请输入q:‘) if s.isdigit() and 0<=int(s)<len(th) : s= int(s) if sar> th[s][1]: lis.append(th[s]) sar = sar - th[s][1] print(‘当前余额是:%d‘%(sar)) else: print(‘当前余额不足‘) elif s==‘q‘: if lis==[]: print(‘您未购买任何商品‘) break else: print(‘您已购买的商品:‘) for m in lis: # 遍历已购买的商品 print(m) print(‘您的余额是%d‘ % (sar),‘欢迎再次光临‘) break else: print(‘请输入正确的序号‘)
以上是关于实现购物车购物功能----优化版本的主要内容,如果未能解决你的问题,请参考以下文章