Python Mini-Course
University of Oklahoma
Department of Psychology
Day 2 – Lesson 7
Conditionals and Loops
4/18/09Python Mini-Course: Day 2 - Lesson 7
1
Lesson objectives
1.Use conditional statements in
Python, including the “if”, “if…else”,
and “if…elif” statements
2.Use Boolean logic to create complex
conditionals
3.Use the “for” statement to create
loops
4/18/09Python Mini-Course: Day 2 - Lesson 7
2
Conditional execution (if…)
Syntax:
if condition:
do_something
Condition must be statement that
evaluates to a boolean value (True or
False)
4/18/09Python Mini-Course: Day 2 - Lesson 7
3
Example:
Checking user input
x = raw_input("X? ")
if x.isdigit():
print "You input a number"
4/18/09Python Mini-Course: Day 2 - Lesson 7
4
Alternative execution
Syntax:
if condition:
do_something
else:
do_alternative
4/18/09Python Mini-Course: Day 2 - Lesson 7
5
Example:
Checking user input
x = raw_input("x? ")
if x.isdigit():
print "You input a number"
else:
print "Please input a number\
next time"
4/18/09Python Mini-Course: Day 2 - Lesson 7
6
Example:
Avoiding division by zero
x = int(raw_input("x? "))
y = int(raw_input("y? "))
if y <> 0:
print x / y
else:
print "Attempted division by\
zero"
4/18/09Python Mini-Course: Day 2 - Lesson 7
7
Chained conditionals
Syntax:
if condition:
do_something
elif condition:
do_alternative1
else:
do_alternative2
4/18/09Python Mini-Course: Day 2 - Lesson 7
8
Example:
x = int(raw_input("x? "))
y = int(raw_input("y? "))
if x < y:
print 'x is less than y'
elif x > y:
print 'x is greater than y'
else:
print 'x and y are equal'
4/18/09Python Mini-Course: Day 2 - Lesson 7
9
Notes on conditionals
You have to have at least one
statement inside each branch but
you can use the pass command
while stubbing
if x < 0:
pass #Handle neg values
4/18/09Python Mini-Course: Day 2 - Lesson 7
10
Notes on conditionals
You can have as many elif
branches as you need
This replaces the select and switch
commands in other languages
Conditionals can be nested
Example: nested.py
4/18/09Python Mini-Course: Day 2 - Lesson 7
11
Complex condition statements
Use Boolean logic operators and,
or, and not to chain together
simple conditions
Example: boolean.py
4/18/09Python Mini-Course: Day 2 - Lesson 7
12
The for loop
Used to repeat a section of code
a set number of times
Syntax:
for target in sequence:
do_statements
4/18/09Python Mini-Course: Day 2 - Lesson 7
13
Example: (power.py)
def power(base, exponent):
val = base
for x in range(1,exponent):
val = val * base
print val
power(3,4)
4/18/09Python Mini-Course: Day 2 - Lesson 7
14
Example: (power.py)
def power(base, exponent):
val = base
for x in range(1,exponent):
print x, val
val = val * base
print val
4/18/09Python Mini-Course: Day 2 - Lesson 7
15
Example: (power.py)
def power(base, exponent):
val = base
for x in range(1,exponent):
print x, val
val = val * base
print val
4/18/09Python Mini-Course: Day 2 - Lesson 7
16
Exercises
1.Find a major bug in the power
function and correct it
2.Add a docstring to the power
function
3.Add type checking and value
checking to the power function
4/18/09Python Mini-Course: Day 2 - Lesson 7
17