码迷,mamicode.com
首页 > 编程语言 > 详细

python基本数据类型实现购物车

时间:2016-10-09 14:11:38      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车
1
2
3
4
5
6
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},
]
money=int(input("请输入您的总金额:"))
cart={}#定义一个空的购物车
#商品列表
for i in goods:
    print(i["name"],i["price"])

while True:
    i2=input("请选择商品,y/Y结算;")
    #如果选择结算,则退出循环
    if i2.lower()=="y":
        break;
    for item in goods:
        if item["name"]==i2:
            name=item["name"]
            #如果购物车已有该商品,数量+1,若美女,则新建字典用于存储商品信息
            if name in cart.keys():
                cart[name]["num"]+=1;
            else:
                cart[name]={"num":1,sigle_price:item["price"]}
    print(cart)
    #结账
all_prices=0
for k,v in cart.items():
    n=v[sigle_price]
    m=v[num]
    all_sum=n*m;
    all_prices+=all_sum;
if all_prices>money:
    print("余额不足")
else:
    print("消费:",all_prices)

 下面的实现方法存在点小问题,暂时还未找到解决方案,有懂得的朋友欢迎指正!

"""
功能要求:
    要求用户输入总资产,例如:2000
    显示商品列表,让用户根据序号选择商品,加入购物车
    购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    附加:可充值、某商品移除购物车
"""
"""
1.创建空的购物车列表
2.要求用户输入金额资产
3.输入后列出商品列表
4.用户选择商品,加入购物车
5.结算,如果商品价格大于用户总资产提示余额不足,询问是否删除商品
6.结算资金充裕,提示购买成功,显示余额并退出
"""
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
]
cart={"good_list":[],"price_list":[]}

#用户输入账户金额
money=int(input("请输入您的账户金额:"))
#打印商品信息
print("Product List:")
while True:
    for k,v in enumerate(goods,1):
        for i in range(len(goods)):
            if k-1==i:
                print(k,goods[i]["name"],goods[i]["price"])
    #用户选择商品
    products=int(input("请选择你喜欢的商品:"))
    print("你选择的商品是:",goods[products-1]["name"],"花费:",goods[products-1]["price"])
    #计算选择商品后的余额
    cur_assets=money-goods[products-1]["price"]
    if cur_assets>0:
        cart["good_list"].append(goods[products-1]["name"])   #如果资金充足,将商品加入购物车,并结算
        cart["price_list"].append(goods[products-1]["price"])
        print("你目前的账户余额为:",cur_assets,"¥")
        choose=input("继续购物,请按‘c‘;结账,请按‘o‘;显示信息,请按‘l‘;退出,请按‘q‘")
        #查看加入购物车的商品信息
        if choose==l:
            for prod,val in enumerate(cart["good_list"],1):
                print(prod,val)
                break
        elif choose==q:
            print("谢谢惠顾")
            break;
        elif choose==c:
            continue
        elif choose==o:
            total=sum(cart["price_list"])
            if total>money:
                print("余额不足!")
            else:
                print("谢谢,本次花费:",total,¥,"余额:",money-total,"¥")
                break;
        else:
            print("错误,请重新输入:")
    else:
        print("对不起,您的账户余额不足!")
        break

 

python基本数据类型实现购物车

标签:

原文地址:http://www.cnblogs.com/eric8899/p/5941621.html

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