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

如何修改Python字典代码实现金额累加功能?

完善字典累加逻辑的Python代码

没问题,我来帮你搞定这个需求!先调整原代码里的几个小细节,再实现你要的累加逻辑:

关键改进点

  • 别用dict当变量名啦,这是Python的内置类型,换成length_totals这种有意义的名字更规范
  • 输入的length和amount是字符串类型,得转成数值(比如整数),不然直接"相加"会变成字符串拼接,完全不是你要的效果
  • 用简洁的逻辑判断字典中是否存在键,实现累加或新增的功能

修改后的完整代码

# 替换内置的dict名称,避免命名冲突
length_totals = {}
while True:
    length_input = raw_input('enter length: ')
    amount_input = raw_input('enter amount: ')
    
    # 处理退出逻辑,输入quit就终止循环
    if length_input == 'quit' or amount_input == 'quit':
        break
    
    # 把输入转换成整数(如果需要支持小数可以改成float)
    try:
        length = int(length_input)
        amount = int(amount_input)
    except ValueError:
        print("请输入有效的数字哦!")
        continue
    
    # 核心逻辑:存在则累加,不存在则新增
    if length in length_totals:
        length_totals[length] += amount
    else:
        length_totals[length] = amount
    
    # 也可以用更简洁的get方法一行实现:
    # length_totals[length] = length_totals.get(length, 0) + amount

# 循环结束后打印最终字典
print("最终统计结果:", length_totals)

测试示例

按照你的要求依次输入:

  1. enter length: 13000,enter amount: 2
  2. enter length: 12000,enter amount: 2
  3. enter length: 13000,enter amount: 2
  4. 输入quit退出循环

最终输出的字典会是:{13000: 4, 12000: 2},完全符合你的需求!

额外说明

  • 如果你的Python版本是3.x,记得把raw_input换成input,因为Python3里已经移除了raw_input方法
  • 代码里加了try-except块,用来处理用户输入非数字的情况,避免程序直接崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:16:14