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

如何累加多个整数取值?Python通胀率计算代码结果异常求助

个人通胀率计算代码问题排查

核心错误点

  1. 未实现支出累加:循环中每次输入会直接覆盖变量值,最终仅保留最后一次输入的支出数据,没有对多类别支出进行累加。
  2. 总支出计算逻辑完全错误:原代码错误地将最后一次的往年与当年支出相加作为往年总支出,还把最后一次当年支出翻倍作为当年总支出,完全背离累加需求。
  3. 公式分母使用错误:原代码的通胀率计算公式分母误用了当年总支出的错误值,导致结果偏离预期。

修正后的代码

year_of_interest = int(input('Please enter the year that you want to calculate the personal interest rate for : '))
expenditure_categories = int(input('Please enter the number of expenditure categories: '))

# 初始化总支出变量为0,用于后续累加
total_expenses_prev_year = 0
total_expenses_year_interest = 0

for i in range(expenditure_categories):
    print()  # 补充原代码缺失的括号,实现换行效果
    # 每次循环输入单类别的两年支出
    prev_year_exp = int(input('Please enter expenses for previous year: '))
    target_year_exp = int(input('Please enter expenses for year of interest: '))
    # 累加至总支出变量
    total_expenses_prev_year += prev_year_exp
    total_expenses_year_interest += target_year_exp

# 按照预期的25%结果,使用对应公式计算(若需标准通胀率可替换分母为total_expenses_prev_year)
inflation_rate = ((total_expenses_year_interest - total_expenses_prev_year) / total_expenses_year_interest) * 100

# 格式化输出结果,保留两位小数
print(f"Personal inflation rate for {year_of_interest} is {inflation_rate:.2f}")

验证结果

输入你提供的数据:

  • year_of_interest = 2022
  • expenditure_categories = 2
  • 往年支出输入:100、200
  • 目标年份支出输入:100、300

运行后将得到结果:Personal inflation rate for 2022 is 25.00,与你的预期一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:55:20