Python how-to

Dr. Huidae Cho
Institute for Environmental and Spatial Analysis...University of North Georgia

1   How to create an infinite loop

while True: # always true
    # your code in this block

2   How to loop from 1 to 100

for i in range(1, 101): # note 101 = 100+1
    # your code in this block

3   How to break out of nested loops

done = False
while not done: # not done is True until done turns True or not done False
    while not done:
        # your code in this block
        # set done = True and continue when you're done

Example:

done = False
while not done:
    while not done:
        inp = input('(h)ello, (q)uit? ')
        if inp == 'h':
            print('Hello')
        elif inp == 'q':
            done = True
            # no need to continue here because of an exclusive else below
        else:
            print('Invalid input')

4   How to read a string input from the keyboard

inp = input('Input your string: ') # you don't need to print('Input your string: ')
                                   # because input() does it for you

5   How to generate a pseudo-random number

5.1   Float in $[0, 1)$

from random import random # import the random function
x = random() # random() doesn't take any arguments

random() never returns 1 so if you want to split its output into two equally probable ranges, 0 <= x < 0.5 and 0.5 <= x < 1 is correct, not 0 <= x <= 0.5 and 0.5 < x < 1. Since we know its output is always within $[0, 1)$, x < 0.5 and 0.5 <= x would suffice.

5.2   Integer in $[1, 100]$

from random import randint # import the randint function
x = randint(1, 100) # randint() takes two arguments: start and end

Note that the second argument is not 100+1 like in range(). In fact, randint(a, b) is equivalent to randrange(a, b+1).