为什么在这个程序中1提供的答案不同于2,因为1应该是相同的?

2024-10-01 00:27:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个代码,用来计算年存款的复利。问题是,在t的位置用1运行代码时,槽中的数字给出的答案与用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(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.5999999999999996 9.6 [3.5999999999999996, 9.6]

当我使用p = 3 r = .2 t=1 t1 = 1dep = 5时,它给了我一个不同的答案,应该是,相同的空间,但是使用t = 2。你知道吗

4.32 11.52 18.72 [4.32, 11.52, 18.72]

为什么会这样? 如果你碰巧有任何代码可以这样做,你介意分享,这样我可以比较我的?你知道吗


Tags: 答案代码reprincipalforinputbodyfloat