如何在现有Python购物清单代码中实现多商品价格求和?
解决多商品价格求和问题
根据你提供的代码,核心问题是当前只处理了单个商品的价格查询,没有遍历整个购物清单List来累加所有商品的价格。以下是尽量少改动现有代码的解决方案:
修改重点代码段
把原来只处理单个商品的逻辑,改成遍历购物清单List中的所有商品,逐个匹配价格并累加:
# 初始化总价为0 total_price = 0 # 遍历购物清单里的每一个商品 for item in List: try: idx = Products.index(item) price = Prices[idx] total_price += price # 累加每个商品的价格 except ValueError: print(f'商品 "{item}" 不在商店列表中,已跳过该商品') # 输出最终总价 print('\n\n','你的商品总价是 {:d}'.format(total_price))
结合现有代码的调用位置
把这段求和代码放到用户确认购买的分支里,替换原来只打印"Your total is"的部分:
if 'yes' in User2: # 插入求和逻辑 total_price = 0 for item in List: try: idx = Products.index(item) price = Prices[idx] total_price += price except ValueError: print(f'商品 "{item}" 不在商店列表中,已跳过该商品') print('\n\n', '你的商品总价是 {:d}'.format(total_price))
说明
- 完全基于你现有变量(
List存储购物商品、Products和Prices对应商品与价格),无额外复杂逻辑 - 遍历
List时逐个处理商品,遇到不在商店的商品会提示并跳过,不影响其他商品求和 - 最终累加所有有效商品的价格并输出总和
内容的提问来源于stack exchange,提问作者TheBoldScorpion
相关产品推荐
相关产品推荐

