这是一个用于几何级数总和的计算器,我的问题是,如果基数(r)为小数并提高到任何幂> 1,我将得到错误的结果5.5 ^ 2是25,它是30.25 < / p>
(对于您在那里的编辑人员,我不知道如何突出显示代码,为了将来方便起见,我想知道如何做,如果我得到有关如何执行操作的说明,它将对您有帮助)
我尝试将函数“ 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
该代码几乎不干扰小数点后的内容
答案 0 :(得分:4)
a1 = int(float(input("First Term in Sequence")))
r = int(float(input("Rate of Change")))
n = int(float(input("Number of Terms")))
您为什么在这里将输入内容转到int
?
如果您输入了5.5
,它将在此处变成5
。此后,即使您进行float(5)
,您仍然会得到5.0
而不是5.5
所以您实际上是在计算5.0 ** 2.0
== 25