zoukankan      html  css  js  c++  java
  • 用python实现购物车功能

    """
    功能要求:
    1.要求用户输入自己拥有的总资产,例如:2000
    2.显示商品列表的序号,商品名称,商品价格,让用户根据序号选择商品,然后加入购物车
    例如:
    1 电脑 1999
    2 鼠标 10
    3 游艇 20

    3.用户可以多次购买商品
    4.用户输入q退出|输入n结算
    5.结算的时候如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
    ]

    """
    goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998}]

     1 account=int(input("请输入您的资产:"))
     2 i=0
     3 dic={}
     4 for el in goods:
     5     i+=1
     6     dic.setdefault(str(i)+el["name"],el["price"]) #使用字符串拼接,把序号加到键前面
     7 print(dic)
     8 
     9 lst=[] #创建一个列表形式的购物车
    10 money=0 #购物车中初始值为0
    11 while 1:
    12     ret=input("请输入您要买的东西序号(q退出.n结算):").strip()
    13     if ret.isdigit():
    14         for el in dic:
    15             if ret == el[0]:  #利用切片得到商品序号,判断用户输入的序号是否是商品序号
    16               lst.append(el[1:]) #将商品添加到列表中
    17               money +=dic[el]  #计算购物车中商品的总价
    18               print("购物车中有:%s,消费总额为%s"%([i for i in lst],money))
    19 
    20     elif ret.upper()=="Q": #执行退出操作
    21        print("退出成功!
    余额还有%s"%account)
    22        break
    23     elif ret.upper()=="N": #执行结算操作
    24        blance=account-money #余额 = 资产 - 消费总额
    25        if blance <0:
    26            print("您的余额不足!!!")
    27        else:
    28            print("购买成功,花费了%d,余额还剩%s"%(money,blance))
    29        break
    30     else:
    31        print("输入有误,请再次输入!!!")
  • 相关阅读:
    串口调试助手的源码分析,子对话框部分
    vc 使用了SerialPort类的串口通信软件分析
    Web前端研发工程师编程能力飞升之路
    vc mscomm串口通信使用了CButtonST按钮类软件分析
    vc 串口精灵软件分析
    c#串口完全接收程序
    Windows Server 2003操作系统中禁用Internet Explorer增强的安全特性
    Window下查看进程端口号
    面向对象的设计原则(2)——依赖注入
    面向对象的设计原则(1)
  • 原文地址:https://www.cnblogs.com/ppf3678/p/9873522.html
Copyright © 2011-2022 走看看