```
WEEK03: booleans, conditionals (if/else)
----------------------------------------
W: review expressions, if/else, comparison operators

FUN:
http://en.wikipedia.org/wiki/George_Boole

CONDITIONAL STATEMENTS:

if < condition > :
do this
and this
and anything indented to this level
else:
do that
and that

EXAMPLE:

speed = input("\nHow fast were you going? ")

if speed > 55:
print "that's too fast....SLOW DOWN!!!!!!!!!!!!!"
else:
print "OK...off you go.\n"

- write a small part of your program, then test it
- once it works, add another small part, then test it again
- and so on...

Here's an example:

\$ python multiply1.py

What is 3 x 7 ? 20

\$ python multiply1.py

What is 3 x 7 ? 21
CORRECT!!

- this program always asks 3 x 7
- not much fun yet, but let's get that to work, then add to it!

"""
program to test user multiplication skills
J. Knerr -- Fall 2012
"""

# ------------------------------------------------------ #

def main():

print "\nLet's test your multiplication skills...\n "

a = 3
b = 7

question = "What is %d x %d ? " % (a,b)

print "CORRECT!!\n"
else:

# ------------------------------------------------------ #
main()

- note use of variables a, b, and answer
- use variables!! makes code easy to read and more efficient
- also can make code easy to update, like this:

\$ python multiply2.py

What is 5 x 7 ? 35
CORRECT!!

\$ python multiply2.py

What is 6 x 7 ? 42
CORRECT!!

- now we are asking the user for a factor, then testing them
on factor x 7
- the only difference between this new code and the one above?

change   a = 3
to       a = input("Please enter a factor: ")

# --------------------------------------------------- #

>>> from random import *
>>> x = randrange(1,11)
>>> print x
2
>>> x = randrange(1,11)
>>> print x
9
>>> x = randrange(1,11)
>>> print x
3
>>>
>>> item = choice(["apple", "orange", "lemon"])
>>> print item
apple
>>> item = choice(["apple", "orange", "lemon"])
>>> print item
apple
>>> item = choice(["apple", "orange", "lemon"])
>>> print item
lemon
>>> item = choice(["apple", "orange", "lemon"])
>>> print item
orange

- change the above multiply code to test the user on factor x random_number:

\$ python multiply3.py

What is 5 x 9 ? 45
CORRECT!!

\$ python multiply3.py

What is 5 x 5 ? 25
CORRECT!!

# --------------------------------------------------- #

- now let's put this in a LOOP and ask the user 3 multiplication questions:

\$ python multiply4.py

What is 5 x 5 ? 25
CORRECT!!

What is 5 x 2 ? 10
CORRECT!!

What is 5 x 4 ? 20
CORRECT!!

# --------------------------------------------------- #

- if you have time: keep track of how many they get correct and
include a message at the end, based on how well they did:

\$ python multiply5.py

What is 5 x 10 ? 50
CORRECT!!

What is 5 x 2 ? 10
CORRECT!!

What is 5 x 5 ? 25
CORRECT!!

Excellent work!!

\$ python multiply5.py

What is 5 x 10 ? 1

What is 5 x 4 ? 1

What is 5 x 7 ? 1

Not so good...you need to run the program again! :(

# --------------------------------------------------- #

NOTE: for this last part you need if/elif/else branching:

if nright == nprobs:
print "Excellent work!!"
elif nright > nprobs/2:
print "Good job. Keep practicing!"
else:
print "Not so good...you need to run the program again! :( "

```