我不知道爲什麼我有下面的代碼無限循環。謝謝你告訴我,並回答!無限循環在適當的解決方案
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問題,這是一個算法問題。 –