對於下面的代碼,我只想打印squareroot函數的最後一個近似值,而不是打印出每個近似值。如何僅打印for循環(Python)中的最後一個值?
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
對於下面的代碼,我只想打印squareroot函數的最後一個近似值,而不是打印出每個近似值。如何僅打印for循環(Python)中的最後一個值?
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
只是去削弱你的print()
將工作:
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
循環後,nextguess
仍然具有價值形成上個週期。 在Python中,循環不會創建新的作用域。因此,在循環之後,您在循環中創建或更改的所有內容仍然可用。
我寧願'打印(猜)',它具有相同的值,但它保證被定義。 – Bakuriu
因爲'我在範圍(1,10):'是硬連線,'nextguss''將在這裏定義。 –
你可以嘗試用while循環做
def square(x):
guess = int(x/2)
i = 1
while (i < 10):
nextguess = (guess + x/guess)/2
guess=nextguess
i = i + 1
print(nextguess)
這似乎工作,謝謝! –
你有沒有機會:1)點擊編輯器中的{}'按鈕,然後* * 2)粘貼內容?請不要這樣做:它會打破縮進。你應該先*粘貼代碼,然後選擇它並按'{}'。 – Bakuriu
爲什麼不在循環之外輸出'guess'?這應該做你想做的。 – Reaper
是的,這工作,以及謝謝 –