为什么Python会给出"错误"的答案?
x = 16
sqrt = x**(.5)
returns 4
sqrt = x**(1/2)
returns 1
Run Code Online (Sandbox Code Playgroud)
是的,我知道import math并使用sqrt.但我正在寻找上述答案.
这是最好的方法,我发现:
x = int(raw_input("Enter an integer: "))
for ans in range(0, abs(x) + 1):
if ans ** 3 == abs(x):
break
if ans ** 3 != abs(x):
print x, 'is not a perfect cube!'
else:
if x < 0:
ans = -ans
print 'Cube root of ' + str(x) + ' is ' + str(ans)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法,最好是避免不得不迭代候选值?