Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
365 views
in Technique[技术] by (71.8m points)

python - How do I print only the last value in a for loop?

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)
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...