zoukankan      html  css  js  c++  java
  • python学习(8)实例:写一个简单商城购物车的代码

    要求:

    1、写一段商城程购物车序的代码
    2、用列表把商城的商品清单存储下来,存到列表 shopping_mail
    3、购物车的列表为shopping_cart
    4、用户首先输入工资金额,判断输入为数字
    5、用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价
    6、判断用户金额是否足够,不足够提示用户
    7、如果用户不想再继续购物,则按Q键退出菜单
    8、用户退出之后,将用户购买的清单打印出来。
    9、尽量学习带颜色输出几个重点信息字符。

     1 # Author:show530
     2 
     3 shopping_mail = [
     4     ('Iphone',5800),
     5     ('Mac Pro',9800),
     6     ('Bike',800),
     7     ('Watch',10600),
     8     ('Coffee',31),
     9     ('Alex Python',120),
    10 ]
    11 shopping_cart = []
    12 
    13 salary=input("请输入您的工资金额:")
    14 if salary.isdigit():
    15    salary=int(salary)
    16    while True:
    17        for index,item in enumerate(shopping_mail):
    18            print(index,item)
    19        enter_number=input("请输入您要购买的商品编号:")
    20        if enter_number.isdigit():
    21            enter_number=int(enter_number)
    22            if enter_number>-1 and enter_number<len(shopping_mail):
    23                p_item=shopping_mail[enter_number]
    24                if p_item[1]<=salary:
    25                    shopping_cart.append(p_item)
    26                    salary-=p_item[1]
    27                    print("您选购的商品金额是:33[31m%s33[0m,您的工资余额为:33[31m%s33[0m" % (p_item, salary))
    28                else:
    29                    print("您的余额不足,无法继续购买!")
    30            else:
    31                  print("您输入的商品编号不存在:")
    32        elif enter_number=="q":
    33            print("33[0;32;40m------您本次购物清单为-------33[0m")
    34            for p in shopping_cart:
    35                print(p)
    36            print("您的余额为:33[31m%s33[0m"%(salary))
    37            exit()
    38        else:
    39                print("33[31m输入有误,必须输入数字或者正整数!33[0m")

    这个程序花了我较多时间,差不多一个晚上都在反复思考这个。

    1、salary.isdigit()还不是太熟悉,这个方法的作用是检查用户输入的是否为数字,不过不知道为什么,输入浮点数也会报错。负数貌似也会报错。这里先囫囵吞枣一下。

    2、对于多层嵌套循环还不熟悉,开始一直输出出现问题,主要原因就是嵌套格式不对。以后写程序之前要注意画一下流程图。

    3、学习了颜色输出的用法。

  • 相关阅读:
    common-fileupload上传图片并显示图片
    common-fileupload上传文件
    Hibernate映射文件配置(hbm.xml和注解方式)
    hdu1272:小希的迷宫(并查集)
    hdu1272:小希的迷宫(并查集)
    hdu1102:Constructing Roads(最小生成树)
    hdu1102:Constructing Roads(最小生成树)
    hdu1054:Strategic Game(最小点覆盖)
    hdu1054:Strategic Game(最小点覆盖)
    hdu2255:奔小康赚大钱(KM)
  • 原文地址:https://www.cnblogs.com/show530/p/8572707.html
Copyright © 2011-2022 走看看