码迷,mamicode.com
首页 > 其他好文 > 详细

实现购物车购物功能----优化版本

时间:2019-10-04 18:36:29      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:列表   macbook   输入   sdi   购物车   phone   判断   超过   功能   

第一版简单版:

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(请输入正确的序号)

 

实现购物车购物功能----优化版本

标签:列表   macbook   输入   sdi   购物车   phone   判断   超过   功能   

原文地址:https://www.cnblogs.com/duguxiren/p/11622601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!