码迷,mamicode.com
首页 > 其他好文 > 详细

购物车--普通版

时间:2018-08-21 23:28:07      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:car   int   电脑   choice   等于   需要   price   sdi   number   

此版本有些瑕疵,仅供参考

"""
功能要求:
要求用户输入自己拥有总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
"""
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},
]
shopping_cart = []   #把购物车定义为一个列表
while True:
    money = input("请输入您的存款(大于0的数字):").replace(" ","")
    if money.isdigit() and int(money) > 0 :  #如果输入的钱是数字,并且大于0
        for cdommodity_list in goods:  #打印goods列表中的每件商品的编号,名称,价钱
            print(goods.index(cdommodity_list)+1,cdommodity_list["name"],cdommodity_list["price"])
        while True:
            number = input("请输入您需要的商品编号或按回车键退出:").replace(" ","")
            if number == "":   #什么都不输入直接按回车,退出程序
                print("您已退出")
                break
            elif number.isdigit() and 0 < int(number) <= len(goods):  #输入的序号是数字并且大于0小于等于goods列表的长度
                commodity_info = goods[int(number)-1]
                shopping_cart.append(commodity_info)  #把选择序号对应的商品加入购物车
                choice = input("是否继续购买(Y:继续购买;N:结算已选购商品)").replace(" ","")
                if choice.upper() == "Y".upper():
                    for cdommodity_list in goods:  #输入y继续购买,然后重新打印商品列表
                        print(goods.index(cdommodity_list) + 1, cdommodity_list["name"], cdommodity_list["price"])
                    continue
                else:   #输入的是n的话,进行结算
                    sum = 0
                    for commodity in shopping_cart:
                        sum = sum + int(commodity.get("price"))  #计算购物车内所有商品的总价格
                    if int(money) >= sum:    #输入的钱数大于商品总金额,结算
                        balance = int(money) - sum
                        print("您已购买以下商品:")
                        print("已消费", sum, "")
                        for a in shopping_cart:
                            print(a["name"], a["price"])
                        print("购买成功!您还剩余",balance,"")
                        break
                    else:   #输入的钱小于商品总金额,提示金额不足
                        balance = sum - int(money)
                        print("余额不足!您还缺", balance ,"元,请重新选择")
            else:
                print("您选择的商品不存在,请重新输入")
    else:
        print("您输入的金额有误,请重新输入")
    break

 

购物车--普通版

标签:car   int   电脑   choice   等于   需要   price   sdi   number   

原文地址:https://www.cnblogs.com/lianghui-lianghui/p/9515086.html

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