我正试图弄清楚如何在多年来正确显示利息和本金。以下是我遇到问题的代码部分:
print ('Luke\n-----')
print ('Year\tPrincipal\tInterest\t Total')
LU_RATE = .05
YEAR = 1
Principal = 100
for YEAR in range (1,28):
# Calculating Luke's total using formula for compounding interest
Lu_Total = (Principal * ((1 + LU_RATE) ** YEAR))
# I realize it's a logical error occurring somewhere here
Lu_Interest = #I'm not sure what to code here
Lu_Principal = #And here
# Displaying the Principal, Interest, and Total over the 27
print (YEAR,'\t%.02f\t\t %.02f\t\t %.02f' %(Lu_Principal, Lu_Interest, Lu_Total))
这是显示的内容(当然减去评论符号):
Luke
-----
Year Principal Interest Total
1 # # 105.00
2 # # 110.25
3 # # 115.76
4 # # 121.55
5 # # 127.63
6 # # 134.01
#etc etc....
我尝试编码的每个方程式对第一年都有正确的兴趣,但最终将校长作为总计。每年过去都计算出错误的数字。
应该看起来像:
Luke
-----
Year Principal Interest Total
1 100.00 5.00 105.00
2 105.00 5.25 110.25
3 110.25 5.51 115.76
#etc etc....
我一整天都在不停地工作,似乎无法弄明白。提前感谢您的任何帮助或建议。
答案 0 :(得分:1)
这听起来像是家庭作业,所以我会有点模糊:
你有一个循环。你的程序从循环的顶部到循环的底部执行,然后返回并再次从循环的顶部重新开始。
您可以通过设置下一次将在循环顶部使用的循环底部的值来更改内容。
例如,您可以根据今年的本金计算利息。你是在循环的顶端做的。
在循环的底部,在您打印出今年的所有内容之后,您可以通过添加(今年的)兴趣来更改(明年的)本金。那么100就会变成105等等。
答案 1 :(得分:1)
另一名选手; - )
print ('Luke\n-----')
print ('Year\tPrincipal\tInterest\t Total')
rate = .05
principal = 100.
for year in range (1, 28):
# calculate interest and total
interest = principal * rate
total = principal + interest
# displaying this year's values
print(year,'\t%.02f\t\t %.02f\t\t %.02f' %(principal, interest, total))
# next year's principal == this year's total
principal = total
产生
Luke
-----
Year Principal Interest Total
1 100.00 5.00 105.00
2 105.00 5.25 110.25
3 110.25 5.51 115.76
4 115.76 5.79 121.55
# ... etc ...
答案 2 :(得分:0)
可能有另一种方法可以做到这一点,但我认为你有一些问题。一个是您需要根据原始主要值计算“总计”(您将本金乘以1 +率**年),并且需要将此值与其余计算分开。
因此,您可以使用p0
和pN
这两个名称,其中p0
代表第0年的初始主体,而pN
代表原始主要PLUS应计利息在N年,然后我们在循环结束时重新分配pN
。
r = .05
p0, pN = 100, p0
for y in range(1,5):
total = p0 * ((1+r)**y)
i = total - pN
print (y,'\t%.02f\t\t %.02f\t\t %.02f' %(pN, i, total))
pN = total
输出符合您的预期:
答案 3 :(得分:0)
这是我做的:
print ('Luke\n-----')
print ('Year\tPrincipal\tInterest\t Total')
LU_RATE = .05
YEAR = 1
Principal = 100
Prev_Principal = 100 #added to store previous year principal
for YEAR in range (1,28):
# Calculating Luke's total using formula for compounding interest
Lu_Total = (Principal * ((1 + LU_RATE) ** YEAR))
Lu_Interest = Lu_Total - Prev_Principal
Lu_Principal = Lu_Total - Lu_Interest
Prev_Principal = Lu_Total
# Displaying the Principal, Interest, and Total over the 27
print (YEAR,'\t%.02f\t\t %.02f\t\t %.02f' %(Lu_Principal, Lu_Interest, Lu_Total))