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.
If you are using a list, for example, List1
is the List name:
List1 = ["praneeth","Veeru","Avinash","Harsha","Avinash"]
.
If you would like to print Avinash
which is the last element of the list, you can use List1[-1]
which returns the last element of the list.
You can try doing it with a while loop
def square(x):
guess = int(x/2)
i = 1
while (i < 10):
nextguess = (guess + x/guess)/2
guess=nextguess
i = i + 1
print(nextguess)