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("输入有误,请再次输入!!!")
  • 相关阅读:
    Oracle Flashback技术
    管理Redo Log
    管理UNDO
    Oracle利用PIVOT和UNPIVOT进行行列转换
    如何在SQL CASE表达式中返回多个值
    第二十八节 jQuery事件委托
    第二十七节 jQuery弹框练习
    第二十六节 jQuery中的事件冒泡
    第二十五节 jQuery中bind绑定事件和解绑
    第二十四节 jQuery中的resize事件
  • 原文地址:https://www.cnblogs.com/ppf3678/p/9873522.html
Copyright © 2011-2022 走看看