Python 为什么在这个程序中,对于1应该相同的区域,1提供的答案与2不同?
我有这个代码,用来计算年存款的复利。问题是,在t的位置运行代码时,插槽中的数字给出的答案与运行代码时的数字2不同。这些应该给我每年的总答案。下面是代码Python 为什么在这个程序中,对于1应该相同的区域,1提供的答案与2不同?,python,python-3.x,math,Python,Python 3.x,Math,我有这个代码,用来计算年存款的复利。问题是,在t的位置运行代码时,插槽中的数字给出的答案与运行代码时的数字2不同。这些应该给我每年的总答案。下面是代码 P = input("Input principal ") R = input("Input rate ") T = input("Input time ") t1 = float(input("Input times per year ")) p = float(P) r = float(R) t = float(T) d = float(in
P = input("Input principal ")
R = input("Input rate ")
T = input("Input time ")
t1 = float(input("Input times per year "))
p = float(P)
r = float(R)
t = float(T)
d = float(input("deposit"))
zed = []
for num in range(int(t) + 1):
zed.append(num)
# (1 + r/n)
body = 1 + (r / t1)
# nt
exponent = t1 * t
# P(1 + r/n)^nt
re = p * pow(body, exponent)
ked = []
for var in zed:
body = 1 + (r / t1)
exponent = t1 * t
idekvar = (p + (d * var)) * pow(body, exponent)
ked.append(idekvar)
print (idekvar)
"""print ("With principal")
print (re)
print ("Without principal")
print (re-p)"""
它给了我一个
3.599999996
9.6
[3.599999996,9.6]
当我使用p=3r=.2t=1t1=1
和dep=5
时,对于相同的空格,它给出了不同的答案,应该是什么,但使用t=2
4.32
11.52
18.72
[4.32,11.52,18.72]
为什么会这样?
如果您碰巧有任何代码可以这样做,您是否介意共享,以便我可以将我的代码与之进行比较?@RoryDaulton已修复。我不明白为什么这会产生相同的输出。毕竟,你要用
t
@NicoSchertler乘以指数,好的,所以我想我需要乘以var而不是t。我该怎么办?你确定t=2
会产生相同的结果吗?另外:float
s不是实数。也许这只是使用float
s时固有的近似错误的产物。在循环中,您有body=1+r/t1
,并且您永远不会更改r
和t1
。您确定不需要依赖于指数的内容吗?因为你的代码的结果显然取决于t
的值,因为在循环中你有指数=t1*t
,并且假设没有其他东西依赖于t
,当你改变t
时,你显然会得到不同的结果。只有当基于t
发生其他变化,从而平衡指数变化时,才能获得类似的结果…@RoryDaulton Fixed。我不明白为什么这会产生相同的输出。毕竟,你要用t
@NicoSchertler乘以指数,好的,所以我想我需要乘以var而不是t。我该怎么办?你确定t=2
会产生相同的结果吗?另外:float
s不是实数。也许这只是使用float
s时固有的近似错误的产物。在循环中,您有body=1+r/t1
,并且您永远不会更改r
和t1
。您确定不需要依赖于指数的内容吗?因为你的代码的结果显然取决于t
的值,因为在循环中你有指数=t1*t
,并且假设没有其他东西依赖于t
,当你改变t
时,你显然会得到不同的结果。只有在t
的基础上发生其他变化,从而平衡指数变化时,才能获得类似的结果。。。