zoukankan      html  css  js  c++  java
  • 实现购物车购物功能----优化版本

    第一版简单版:

    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('请输入正确的序号')
  • 相关阅读:
    javascript函数的定义和调用(包括方法)
    iterable(遍历)
    循环
    C#基础知识 简单说明泛型的优点
    C#基础知识 yield与foreach
    C#基础知识 结构与类的区别
    Asp.net MVC 生成zip并下载
    Asp.net MVC 填充word并下载
    Asp.net MVC 简单实现生成Excel并下载
    CTF中怎么看phpinfo
  • 原文地址:https://www.cnblogs.com/duguxiren/p/11622601.html
Copyright © 2011-2022 走看看