将基数(小数)提高到幂会产生错误的结果

Raising a base (which is a decimal) to a power yields false results

这是一个计算几何级数和的计算器,我的问题是,如果底数 (r) 是小数并且被提高到任何大于 1 的幂,我会得到不正确的结果 5.5^2 是 25 30.25

(对各位编辑来说,我不知道如何高亮代码,为了以后方便,我想知道如何高亮代码,如果我得到有关如何做到这一点的说明,它真的会有帮助)

我已经尝试将函数 "float" 分配给变量,假设如果 python 将变量视为小数,则小数点后的部分也可能会被提升为幂。

a1 = int(float(input("First Term in Sequence")))
r = int(float(input("Rate of Change")))
n = int(float(input("Number of Terms")))


def a(r,n):
    global rn
    r = float(r)
    n = float(n)
    rn = r**n
    return rn

我希望输出是正确的: 如 5.5^2 = 30.25

不是: 5.5^2 = 25

就好像代码不关心小数点后的内容

a1 = int(float(input("First Term in Sequence")))
r = int(float(input("Rate of Change")))
n = int(float(input("Number of Terms")))

为什么要在此处将您的输入转为 int

如果你有typed-in5.5,这里会变成5。在此之后,即使你 float(5) 你仍然会得到 5.0 而不是 5.5

所以你实际上是在计算 5.0 ** 2.0 == 25