练习中遇到的一个练习题,随便写了些,有点乱,类似于一个购物车,具体题目的要求是这样的:
输出商品列表,用户输入序号,显示用户选中的商品
商品列表:
goods = [{“name”: “电脑”, “price”: 1999},
{“name”: “鼠标”, “price”: 10},
{“name”: “游艇”, “price”: 20},
{“name”: “美女”, “price”: 998},
要求:
1:页面显示 序号 + 商品名称 + 商品价格,如:
1 电脑 1999
2 鼠标 10
…
2:用户输入选择的商品序号,然后打印商品名称及商品价格
3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
4:让用户输入一个金额,
5:自己定义一个购物车,让用户选择要购买的内容存放到购物车中
6: 用户输入Q或者q,显示购买的内容,然后退出程序,退出时打印当前用户剩余的金额
my_money=int(input("请输入您的金额:"))
shop_car={} #购物车,是个字典
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]
for i in range(len(goods)):
print(i+1,end=" ")
print(goods[i]["name"]," ",goods[i]['price'])
while True:
print("若想退出请输入“Q”或者“q”!")
serial=input("请输入您想查看的商品序号:")
if(serial=="Q" or serial=="q"):
print("您的购物车里存放的物品为:\n",shop_car)
print("您的账户余额还剩 {0}元".format(my_money))
print("程序已退出!")
break
if(int(serial)>len(goods)):
print("序号输入有误,请重新输入!")
continue
print(goods[int(serial)-1]["name"]," ",goods[int(serial)-1]["price"])
shop_select=input("是否将此物品添加到您的购物车当中?请输入“Y”或者“N”:")
if(shop_select=="Y"):
if(goods[int(serial)-1]["name"] in shop_car.keys()):
print("此物品已在您的购物车中,您是想重复添加吗?")
shop_select_aga=input("Y: 老子有钱,给我加!\nN: 手滑了,不加不加!:")
if(shop_select_aga=="Y"):
my_money -= goods[int(serial)-1]["price"]
if(my_money<0):
print("您的帐户余额已不足!请及时充值!")
my_money += goods[int(serial)-1]["price"]
else:
shop_car[goods[int(serial)-1]["name"]]=shop_car[goods[int(serial)-1]["name"]]+goods[int(serial)-1]["price"]
print(goods[int(serial)-1]["name"],"已成功添加到您的购物车内!")
else:
my_money -= goods[int(serial)-1]["price"]
if(my_money<0):
print("您的帐户余额已不足!请及时充值!")
my_money += goods[int(serial)-1]["price"]
else:
shop_car[goods[int(serial)-1]["name"]]=goods[int(serial)-1]["price"]
print(goods[int(serial)-1]["name"],"已成功添加到您的购物车内!")
代码很乱,以后有时间的话再把这个购物功能完善一下。