如何让Python投资现值程序显示第0年无利息的初始本金
修改后的Python投资现值计算程序
问题分析
原代码循环内先计算利息再打印,导致第0年输出的是首次计息后的金额,而非初始本金,只需调整循环内的执行顺序即可解决。
修改后的代码
def futval_2(): capital = float(input("Enter the capital you want to invest: ")) rate = float(input("Enter the interest rate: ")) year = int(input("For how many years you investing the money: ")) print("Year Value") print("-" * 16) for i in range(year): # 先打印当前年份的本金,再计算下一年的利息 print("{0:^6} £{1:<9.2f}".format(i, capital)) capital = capital * (1 + (rate / 100)) futval_2()
修改说明
- 调换循环内打印与计息操作的顺序:先输出当前年份的本金(第0年即为初始投资金额),再计算下一年的计息后金额。
- 保留原循环次数与年份编号逻辑,确保输出行数与输入的投资年数完全匹配,输出格式与原代码一致。
内容的提问来源于stack exchange,提问作者LogicMasterBV
相关产品推荐
相关产品推荐

