zoukankan      html  css  js  c++  java
  • python基本数据类型实现购物车

    功能要求:

    • 要求用户输入总资产,例如: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
  • 相关阅读:
    hdu1418 欧拉公式
    hdu1215七夕节 筛选法求公因子和
    hdu1215 The area
    hdu1005Number Sequence
    hdu1021 数学题 并不是说难,而是数学题那种简单朴素的思想get不到
    Mongo第三个参数的用法
    js 显示刚刚上传的图片 (onchange事件)
    在linux中安装memcache服务器
    jQuery 倒计时
    PHP获取文章发布时间
  • 原文地址:https://www.cnblogs.com/eric8899/p/5941621.html
Copyright © 2011-2022 走看看