如何修改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)
测试示例
按照你的要求依次输入:
- enter length: 13000,enter amount: 2
- enter length: 12000,enter amount: 2
- enter length: 13000,enter amount: 2
- 输入quit退出循环
最终输出的字典会是:{13000: 4, 12000: 2},完全符合你的需求!
额外说明
- 如果你的Python版本是3.x,记得把
raw_input换成input,因为Python3里已经移除了raw_input方法 - 代码里加了
try-except块,用来处理用户输入非数字的情况,避免程序直接崩溃
内容的提问来源于stack exchange,提问作者Adir Koren
相关产品推荐
相关产品推荐

