天天看点

python3循环只输出最后一个值,如何只打印for循环中的最后一个值?

python3循环只输出最后一个值,如何只打印for循环中的最后一个值?

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.