Iterations in Python

✓ While loop

def countdown(n):
    while n > 0:
        print n
        n = n-1
#output: 5,4,3,2,1
def sequence(n):
    while n != 1:
        print n,
        if n%2 == 0:
        n = n/2
    else:
        n = n*3+1;

#output: 3, 10, 5, 16, 8, 4, 2, 1

✓ Break – Break statement is used to jump out of the loop.

while True:
   line = raw_input('> ')
   if line == 'done':
       break;
   print line

✓ Square roots – Loops can be also used in programs that compute numerical results by starting with an approximate answer and iteratively improving it. Square root can be estimated using Newton’s method.

✓ Newton’s method:
newton_method

f(xn) = xn2-S
xn+1 = xn – f(xn)/f’(xn)
xn+1 = xn – xn2-S/ 2xn
xn+1 = (xn + S/ xn)/2

>>> a = 4.0 # square root of 4.0 needs to estimated
>>> x = 3.0 # first approximate value is 3.0 
>>> y = (x + a/x) / 2
>>> print y 
2.16666666667 
>>> x = y # second approximate value
>>> y = (x + a/x) / 2
>>> print y
2.00641025641 # third approximate value

# accurate value can esimate by loop
while True:
    print x
    y = (x + a/x) / 2
    if abs(y-x) < epsilon:
        break
    x = y

Estimate 1/d using the newton’s method.
f(xn) = 1/xn – d
f’(xn) = -1/xn2
xn+1 = xn- (1/xn – d )/(-1/xn2)
xn+1 = xn(2-dxn)

Bisection Debugging

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s