Day 2 – Lesson 8 Fruitful Functions Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 2 - Lesson 8 05/02/09
Download
Report
Transcript Day 2 – Lesson 8 Fruitful Functions Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 2 - Lesson 8 05/02/09
Day 2 – Lesson 8
Fruitful Functions
Python Mini-Course
University of Oklahoma
Department of Psychology
1
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Lesson objectives
1. Understand how to return values
from functions in Python
2. Create “fruitful” functions
2
Python Mini-Course: Day 2 - Lesson 8
05/02/09
The power function revisited
def power(base, exponent):
val = base
for x in range(1,exponent):
val = val * base
return val
power(3,4)
3
Python Mini-Course: Day 2 - Lesson 8
05/02/09
The return statement
Syntax
return [expression]
Exists the enclosing function and
returns the value of expression as
a result of the call to the function
If expression is omitted, returns
None
4
Python Mini-Course: Day 2 - Lesson 8
05/02/09
The return statement
You can only return one value
That value can be any Python data
type (including both built-in and
custom data structures)
You can also use the return
statement to exit a function early
5
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Exercise
Create a function that computes
the distance between any two
points when given their
coordinates (in 2-D space)
6
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Distance function
def distance(x1, y1, x2, y2):
"""Return the distance between points
(x1, y1) and (x2, y2) as a float"""
return 0.0
7
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Distance function
def distance(x1, y1, x2, y2):
"""Return the distance between points
(x1, y1) and (x2, y2) as a float"""
dx = x2 - x1
dy = y2 - y1
print 'dx is ', dx
print 'dy is ', dy
return 0.0
8
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Distance function
def distance(x1, y1, x2, y2):
"""Return the distance between points
(x1, y1) and (x2, y2) as a float"""
dx, dy = x2 - x1, y2 - y1
result = math.sqrt(dx**2 + dy**2)
return result
9
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Distance function
def distance(x1, y1, x2, y2):
"""Return the distance between points
(x1, y1) and (x2, y2) as a float"""
result = \
math.sqrt((x2-x1)**2 + (y2-y1)**2)
return result
10
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Distance function
def distance(x1, y1, x2, y2):
"""Return the distance between points
(x1, y1) and (x2, y2) as a float"""
return math.sqrt((x2-x1)**2 + (y2-y1)**2)
11
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Creating Boolean functions
Functions that return a Boolean
value (True or False) can be
used in conditional statements
(i.e. if…else…)
12
Python Mini-Course: Day 2 - Lesson 8
05/02/09
is_divisible function
def is_divisible(x, y):
if x % y == 0:
return True
else:
return False
is_divisible(16,4)
is_divisible(16,3)
13
Python Mini-Course: Day 2 - Lesson 8
05/02/09
is_divisible function
def is_divisible(x, y):
return x % y == 0
is_divisible(16,4)
is_divisible(16,3)
x, y = 16, 5
if is_divisible(x, y):
print x,'is divisible by',y
14
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Next session
Iteration methods:
Recursion
Loops and conditional execution
The for loop
The while loop
Handling strings and text
15
Python Mini-Course: Day 2 - Lesson 8
05/02/09
Suggested exercises
Exercise 5.1 – Fermat's Last Theorem
Exercise 6.6 – Palindromes
Exercise 6.7 – is_power function
Turtle exercises from Chaps 4 & 5
16
Python Mini-Course: Day 2 - Lesson 8
05/02/09