Python练习_购物车_day6

1|0第一次代码

(1) 输出商品列表,用户输入序号,显示用户选中的商品.

页面显示 序号 + 商品名称,如:
1 手机
2 电脑

(2): 用户输入选择的商品序号,然后打印商品名称

(3):如果用户输入的商品序号有误,则提示输入有误,并重新输入。

(4):用户输入Q或者q,退出程序。

flag = True while flag: li = ['手机', '电脑', '鼠标垫', '游艇'] for i in li: print('{}\t{}'.format(li.index(i) + 1, i)) num_of_choose = input('请输入选择的商品序号(按Q退出,不区分大小写):') if num_of_choose.isdigit(): num_of_choose = int(num_of_choose) if num_of_choose > 0 and num_of_choose <= len(li): print(li[num_of_choose - 1]) else:print('请输入有效数字!') elif num_of_choose.upper() == 'Q': flag = False else: print('请输入整数!')

2|0升级

功能要求:

要求用户输入总资产,例如:2000

显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods = [ {"name": "电脑", "price": 1999}, {"name": "鼠标", "price": 10}, {"name": "游艇", "price": 20}, {"name": "美女", "price": 998} ] total = 0 flag = True money = input('请输入您的总资产:') while flag: for i in goods: print('{}\t{}\t{}'.format(goods.index(i) + 1, i['name'], i['price'])) num_of_choose = input('请选择商品的序号(按Q退出,不区分大小写):') if num_of_choose.isdigit(): num_of_choose = int(num_of_choose) if num_of_choose > 0 and num_of_choose <= len(goods): total = total + goods[num_of_choose - 1]['price'] if total < int(money): print('成功加入购物车!') print('你当前选择的商品为:{}\t价格为:{}'.format(goods[num_of_choose - 1]['name'],goods[num_of_choose - 1]['price'])) print('总价为:{}'.format(total)) else: print('账户余额不足!') flag = False else:print('请输入有效数字!') elif num_of_choose.upper() == 'Q': flag = False else:print('请输入整数!')

 最终

# 把货物放在货架上 li = [ {'name':'苹果', 'price':1}, {'name':'香蕉', 'price':1}, {'name':'西瓜', 'price':10}, {'name':'橘子', 'price':0.5}, ] shopping_car = {} # 建立一个空购物车 print('欢迎光临水果店') money = input('让我看看你有多少钱:') if money.isdigit() and int(money) > 0: while 1: for i,k in enumerate(li): print('序号:{}\t商品:{}\t价格:{}'.format(i, k['name'], k['price'])) choose = input('请输入您要购买的商品序号:') if choose.isdigit() and int(choose) < len(li): num = input('您要购买的商品数量:') if num.isdigit(): if int(money) > li[int(choose)]['price'] * int(num): money = int(money) - li[int(choose)]['price'] * int(num) if li[int(choose)]['name'] in shopping_car: shopping_car[li[int(choose)]['name']] += int(num) # 若商品已经在购物车中, 则增加数量 else: shopping_car[li[int(choose)]['name']] = int(num) print('购物车中的商品有:{}\t\t您的余额为:{}'.format(shopping_car,money)) else: print('余额不足') break else: print('您输入的序号有误')

 


__EOF__

本文作者😎
本文链接https://www.cnblogs.com/dongye95/p/10166273.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   dongye95  阅读(469)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示