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

如何制作简单单利贷款计算器,排查代码输入导致输出重复的问题

问题原因

  • input() 函数的返回值默认是字符串类型,你没有对输入的贷款月数做整数转换就直接和月还款额做乘法,Python 中字符串和整数相乘的效果就是将字符串重复对应次数,这就是你输出输入内容重复多次的核心原因。
  • 现有代码的数值处理逻辑存在冗余:你已经将月还款额转为了整数,计算总还款额时再次转整数没有必要,且提前做整数转换会损失利息计算的精度,导致最终打印两位小数时精度丢失。

修正后可运行代码

# 每月还款本金200元,年利率1.7%,根据用户输入的贷款月数计算总还款额
# 将用户输入的月数直接转为整数类型
months_given = int(input("请输入贷款月数:"))

monthly_principal = 200
# 计算月利率:年利率转月利率
monthly_rate = 1.7 / 100 / 12
# 计算月利息
monthly_interest = 200 * monthly_rate
# 单利计算每月总还款额
monthly_total = monthly_principal + monthly_interest
# 计算总还款额
total = months_given * monthly_total

# 格式化输出保留两位小数
print(f"您总共需要还款:¥{total:.2f}")

注:上述代码是按单利计息的逻辑实现的,不需要用到循环。如果你需要按复利计算(每月产生的利息计入下一期本金生息),才需要用到for/while循环,入门阶段可以先把基础的类型转换逻辑搞清楚再学习循环写法。
额外优化提示:如果要避免用户输入非数字内容报错,可以加异常捕获逻辑,入门阶段可以先不用考虑,先保证核心逻辑正确即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:15:01