发布于2019-08-08 12:12 阅读(573) 评论(0) 点赞(4) 收藏(0)
使用Python完成购物车功能
需求:
1.让用户输入金额
2.选择要购买的商品,加入购物车
3.当商品的总价超过了你的金额,提示余额不足
4.让用户输入N结算,输入Q退出
goods = [
{'name':'电脑','price':1999},
{'name':'鼠标','price':15},
{'name':'键盘','price':30},
{'name':'硬盘','price':399},
{'name':'内存','price':489},
]
fei_yong = 0
shop_car = {} # 键 == 列表的索引,值 == 商品数量
money = input("请输入你的金额:")
if money.isdigit():
# 真钱
while 1:
for i in range(len(goods)):
print(i+1,goods[i]["name"],goods[i]["price"])
# ===================商品展示============================
choose = input("请输入您要购买的商品(输入n或者N结算,输入q或者Q退出):")
if choose.isdigit() and 0 < int(choose) <= len(goods):
# 让用户输入商品序号并判断是不是数字以及在不在正常输入范围内
int_index = int(choose) - 1
# 通过用户输入的内容减一,获取到goods的索引
if shop_car.get(int_index) == None:
shop_car[int_index] = 1
else:
shop_car[int_index] += 1
# ================让用户把商品加入到购物车中====================
elif choose.upper() == "N":
# 结算
for f in shop_car:
fei_yong = fei_yong + shop_car[f] * goods[f]["price"]
if int(money) - fei_yong >= 0:
for k in shop_car:
print(f'您购买的商品是{goods[k]["name"]},单价{goods[k]["price"]},数量{shop_car[k]}')
else:
print("余额不足")
# for i,v in enumerate(shop_car,1): # 枚举
# print(f'序号:{i},商品:{goods[v]["name"]},数量:{shop_car[v]}')
#
# str_del = int(input("请删除商品对应的序号:"))
# shop_car[str_del - 1] = shop_car[str_del - 1] - 1
# if shop_car[str_del - 1] == 0:
# shop_car.pop(str_del - 1)
elif choose.upper() == "Q":
# 退出
print(f"您此次共消费{fei_yong},剩余余额{int(money) - fei_yong}")
break
else:
print("输入有误,请重新输入!")
else:
# 输入非数字
print("请正确输入!")
实现了简易功能,其余功能慢慢完善
作者:ryuer8423
链接:https://www.pythonheidong.com/blog/article/14064/278d05fa73ec69d51dd1/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!