我怎么能说数字是否自然返回真?

时间:2019-10-28 18:51:16

标签: python

我怎么写“如果数字是自然的,返回真”?我

我尝试使用int和float指令,但没有帮助

def perfectsquareroot(a):
 import math 
 x=math.sqrt(a)
 if x is int
     return True
 else
     return False

如果平方根的结果不是自然数,我希望返回false

2 个答案:

答案 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))

输出: