我的一个简单问题是创建一个函数来确定是否可以a^n为某些给定的n 写入数字N ,即我需要检查是否N^(1/n)是整数.不知何故,此函数产生错误的结果:
def is_power(N, n):
r = float(N) ** ( 1. / float(n) )
return r.is_integer()
Run Code Online (Sandbox Code Playgroud)
因为n=2它有效.
对于n=3和N = 1,8,27,函数产生True,这是正确的.但是从那时起就是假的,例如为4*4*4=64或5*5*5=125.如何创建一个找到正方形/立方体/等数字的工作函数?