标签: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