将基数(小数)提高到幂会产生错误的结果
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
这是一个计算几何级数和的计算器,我的问题是,如果底数 (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