我不知道为什么我有下面的代码无限循环。谢谢你告诉我,并回答!无限循环在适当的解决方案
cube = 25
epision = 0.01
guess = 0
increment = 0.01
while abs(guess**3 - cube) >= epision:
guess += increment
if abs(guess**3 - cube) >= epision:
print("Failed on cube root of", cube)
else:
print (guess, 'is close to the cube root of',cube)
“if”永远不会是真的,因为循环会重复,如果是的话。 – Barmar
为什么你会期望循环结束? – user2357112
考虑'猜** 3 - 立方体'。猜测从0开始,所以它是-25。然后它变成1,它是-24。然后它变成2,它是-17。然后它变成3,它是2.从那时起,差异总是正面的,而且每次迭代都会变得更大。问题是,加1猜测开始将它从期望值进一步移动而不是更接近。这不是一个真正的Python问题,这是一个算法问题。 –