它不会附加为浮动 Python |问题#18
It doesn't append as floating Python | Problem #18
我正在 Codeabbey 中为 the problem #18 编写此代码。我需要计算一个数字数组的平方根 [150, 0, 5, 1 10, 3]
我必须将这个数组分成三个数组 (x,n) [[150, 0], [5, 1], [10 3]]
其中 x: 是我要计算平方根的数字n: 是我必须尝试公式 r = (r + x / r) / 2 以获得结果 r 的次数,r 从 1 开始。这没有问题,问题是当我必须附加结果,因为如果 r 是 3.0
我必须将它作为整数附加:3
但如果 r 是 3.964
我必须将它作为浮动附加。
def squareRoot():
rawArr = [int(n) for n in input().split()]
arr = [rawArr[i:i+2] for i in range(0,len(rawArr)-1,2)]
results = []
for a in arr:
x,n = a
r = 1.0
for i in range(0,n):
r = (r + x / r) / 2
if r.is_integer:
results.append(str(int(r)))
else:
results.append(str(round(r,3)))
return " ".join(results)
输入为:
150 0 5 1 10 3
输出为:
'1 3 3'
如果我不使用 is_integer():
,这就是我得到的结果
'1 3.0 3.196xxxxx'
输出应该是什么:
1 3 3.196
我看不出问题出在哪里。
is_integer
是您 运行 在 float
类型上的一种方法。你忘了调用它,所以它的计算结果为 True
因为它 returns 是一个内置的东西(不是什么都没有)。
只需更换
if r.is_integer:
和
if r.is_integer():
我正在 Codeabbey 中为 the problem #18 编写此代码。我需要计算一个数字数组的平方根 [150, 0, 5, 1 10, 3]
我必须将这个数组分成三个数组 (x,n) [[150, 0], [5, 1], [10 3]]
其中 x: 是我要计算平方根的数字n: 是我必须尝试公式 r = (r + x / r) / 2 以获得结果 r 的次数,r 从 1 开始。这没有问题,问题是当我必须附加结果,因为如果 r 是 3.0
我必须将它作为整数附加:3
但如果 r 是 3.964
我必须将它作为浮动附加。
def squareRoot():
rawArr = [int(n) for n in input().split()]
arr = [rawArr[i:i+2] for i in range(0,len(rawArr)-1,2)]
results = []
for a in arr:
x,n = a
r = 1.0
for i in range(0,n):
r = (r + x / r) / 2
if r.is_integer:
results.append(str(int(r)))
else:
results.append(str(round(r,3)))
return " ".join(results)
输入为:
150 0 5 1 10 3
输出为:
'1 3 3'
如果我不使用 is_integer():
,这就是我得到的结果'1 3.0 3.196xxxxx'
输出应该是什么:
1 3 3.196
我看不出问题出在哪里。
is_integer
是您 运行 在 float
类型上的一种方法。你忘了调用它,所以它的计算结果为 True
因为它 returns 是一个内置的东西(不是什么都没有)。
只需更换
if r.is_integer:
和
if r.is_integer():