For the below code, I only want to print the last approximation for the squareroot function, instead of printing out every approximation.
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
解决方案
Just de-denting your print() will work:
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
After the loop, nextguess still has the value form the last cycle.
In Python, a loop does not create a new scope. So, everything you create or change in the loop is still available after the loop.