You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现两个字典对应值相乘计算总库存价值

问题根因

原代码存在三个核心问题:

  • Stock和Price字典内的库存、价格均为字符串类型,未做类型转换直接做数值运算会触发逻辑错误
  • 两段遍历字典值的循环相互独立,循环结束后x、y仅保留最后一次遍历的结果(卡布奇诺的库存与价格),没有实现同商品数据的一一匹配
  • 未设置总价值累加变量,最终仅计算了最后一个商品的单次乘积,无法得到所有商品的累计总价值
可直接运行的正确代码
# 商品菜单列表
Menu = ["Coffee", "Latte", "Tea", "Capuccino"]

# 各商品库存
Stock = {
    "Coffee": "50",
    "Latte": "150",
    "Tea": "100",
    "Capuccino": "200"
}

# 各商品单价
Price = {
    "Coffee": "22",
    "Latte": "27",
    "Tea": "17",
    "Capuccino": "32"
}

total_value = 0
# 遍历商品名,精准匹配同商品的库存和价格
for item in Menu:
    # 字符串转整数后计算单类商品库存价值
    item_total = int(Stock[item]) * int(Price[item])
    total_value += item_total

print(f"商品总库存价值为:{total_value}")

上述代码运行后输出结果为13250,和手动核算结果一致。

逻辑说明
  • 初始化total_value为0作为总价值累加容器
  • 以商品名为遍历维度,通过字典键索引取值,从根源上避免不同商品的库存、价格错位匹配
  • 计算前将字符串格式的数值转为整数,规避类型导致的运算错误
  • 每算出一类商品的库存价值就累加到总价值变量中,遍历完成后即可得到正确的总库存价值

内容的提问来源于stack exchange,提问作者Ophethile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 22:04:04