Day 2 – Lesson 7 Conditionals and Loops Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 2 - Lesson 7 4/18/09

Download Report

Transcript Day 2 – Lesson 7 Conditionals and Loops Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 2 - Lesson 7 4/18/09

Day 2 – Lesson 7
Conditionals and Loops
Python Mini-Course
University of Oklahoma
Department of Psychology
1
Python Mini-Course: Day 2 - Lesson 7
4/18/09
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
2
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Conditional execution (if…)
 Syntax:
if condition:
do_something
 Condition must be statement that
evaluates to a boolean value (True or
False)
3
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Example:
Checking user input
x = raw_input("X? ")
if x.isdigit():
print "You input a number"
4
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Alternative execution
 Syntax:
if condition:
do_something
else:
do_alternative
5
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Example:
Checking user input
x = raw_input("x? ")
if x.isdigit():
print "You input a number"
else:
print "Please input a number\
next time"
6
Python Mini-Course: Day 2 - Lesson 7
4/18/09
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"
7
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Chained conditionals
 Syntax:
if condition:
do_something
elif condition:
do_alternative1
else:
do_alternative2
8
Python Mini-Course: Day 2 - Lesson 7
4/18/09
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'
9
Python Mini-Course: Day 2 - Lesson 7
4/18/09
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
10
Python Mini-Course: Day 2 - Lesson 7
4/18/09
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
11
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Complex condition statements
 Use Boolean logic operators and,
or, and not to chain together
simple conditions
 Example: boolean.py
12
Python Mini-Course: Day 2 - Lesson 7
4/18/09
The for loop
 Used to repeat a section of code
a set number of times
 Syntax:
for target in sequence:
do_statements
13
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Example: (power.py)
def power(base, exponent):
val = base
for x in range(1,exponent):
val = val * base
print val
power(3,4)
14
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Example: (power.py)
def power(base, exponent):
val = base
for x in range(1,exponent):
print x, val
val = val * base
print val
15
Python Mini-Course: Day 2 - Lesson 7
4/18/09
Example: (power.py)
def power(base, exponent):
val = base
for x in range(1,exponent):
print x, val
val = val * base
print val
16
Python Mini-Course: Day 2 - Lesson 7
4/18/09
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
17
Python Mini-Course: Day 2 - Lesson 7
4/18/09