Python如何将用户输入与给定字典中的值比对,筛选可负担的商品
需求说明
- 程序首先询问用户可用于消费的金额
- 基于存储商品名称与对应价格的字典,筛选出用户可负担的商品并输出
现有代码问题
你当前的代码仅遍历了字典的键(商品名称)直接全部输出,没有加入商品价格和用户输入金额的比对逻辑。
修改后可直接运行的代码
wishlist = { 'PS5': 750, '手机壳': 30, 'Oodie懒人毯': 90, '乐高霍格沃茨城堡套装': 650, 'JBL头戴式耳机': 130, '架子鼓': 520, '手机话费充值': 30, '耳环': 110, 'Spotify会员订阅': 60, '曲棍球杆': 130, '巨型三角巧克力': 16, '排球': 90, 'Fitbit运动手环': 99, '哈利波特全集套装书': 65, '匡威新款帆布鞋': 70 } money = int(input('你有多少可支配消费金额? ')) print('你可以负担的商品如下:') # 同时遍历商品名和对应价格 for gift_name, price in wishlist.items(): # 仅输出价格低于等于用户持有金额的商品 if price <= money: print(gift_name)
可选优化方案
如果需要处理余额不足以购买任何商品的场景,可以用列表推导式先收集符合条件的商品再输出:
money = int(input('你有多少可支配消费金额? ')) affordable_gifts = [gift for gift, price in wishlist.items() if price <= money] if affordable_gifts: print('你可以负担的商品如下:') for gift in affordable_gifts: print(gift) else: print('当前余额不足以购买清单内的任何商品')
内容的提问来源于stack exchange,提问作者PurpleHyacinth
相关产品推荐
相关产品推荐

