我怎么写“如果数字是自然的,返回真”?我
我尝试使用int和float指令,但没有帮助
def perfectsquareroot(a):
import math
x=math.sqrt(a)
if x is int
return True
else
return False
如果平方根的结果不是自然数,我希望返回false
答案 0 :(得分:2)
def perfectsquareroot(a):
import math
x=math.sqrt(a)
return x == int(x)
答案 1 :(得分:1)
math.sqrt()方法的语法:
math.sqrt(n)
参数:n –一个需要计算平方根的数字。
返回值: float –它返回的浮点值是平方 给定数字n的根。
math.sqrt返回浮点数,这意味着您不能只检查结果是否为整数,因为它永远不会。
import math
def perfectsquareroot(a):
x = math.sqrt(a)
if x%1 == 0 and x >= 0 :
return True
else:
return False
print (perfectsquareroot(4))
输出:
True
或:
import math
def perfectsquareroot(a):
x = math.sqrt(a)
if int(x) == x and x >= 0:
return True
else:
return False
print (perfectsquareroot(4))
输出:
是