我的代码是
if graph == square_grid and type(math.sqrt(nodes)) is not int:
print "Your netork can't have that number of nodes"
当然这不起作用,因为 math.sqrt 总是返回一个浮点数。我怎样才能做到这一点?
我的代码是
if graph == square_grid and type(math.sqrt(nodes)) is not int:
print "Your netork can't have that number of nodes"
当然这不起作用,因为 math.sqrt 总是返回一个浮点数。我怎样才能做到这一点?
一种方法是
int(math.sqrt(x)) ** 2 == x
因为 math.sqrt 总是返回一个浮点数,你可以使用内置的is_integer
方法
def is_square(x):
answer = math.sqrt(x)
return answer.is_integer()
True
如果x
是正方形,False
如果不是,这将返回
>>> is_square(25)
True
>>> is_square(14)
False
尝试:
math.sqrt(nodes) == int(math.sqrt(nodes))