CSE 160 Section 3
Functions
CSE 160
CSE 160: Section 3
Logistics
CSE 160: Section 3
Lecture Review: If/ Else Statements
CSE 160: Section 3
If/ Else Structure
is_raining = True
is_sprinkling = False
if is_raining:
print(“Bring an umbrella”)
elif is_sprinkling:
print(“Bring a raincoat”)
else:
print(“Bring sunglasses”)
Output:
Bring an umbrella
CSE 160: Section 3
Boolean Zen
num = 0
def is_num_2(num):
if num == 2:
return True
else:
return False
num = 0
def is_num_2(num):
return num == 2
Without boolean zen:
With boolean zen:
CSE 160: Section 3
Lecture Review: Nested Loops
CSE 160: Section 3
Nested Loops
Example:
for i in [0, 1, 2, 3]:
for j in [0, 1, 2]:
print(i)
CSE 160: Section 3
Nested Loops
for i in [0, 1, 2, 3]:
for j in [0, 1, 2]:
print(i)
CSE 160: Section 3
Nested Loops
Example:
for i in [0, 1, 2, 3]:
for j in [0, 1, 2]:
print(i)
CSE 160: Section 3
Lecture Review: Functions
CSE 160: Section 3
Functions: an overview
CSE 160: Section 3
Why do we use functions?
CSE 160: Section 3
Function Syntax
# Writing a function
def func_name(parameter1,...):
function body
return value
# To call that function:
func_name(parameter1,...)
def | word needed to define a function |
func_name | a name you give the function |
parameter1, | a list of parameters you pass in a function. (Optional) |
function body | the code inside the function |
return | tells the function to return value back to the caller. (Optional) |
CSE 160: Section 3
Functions run only when called
Output:
def fall():
x = “Happy Fall!”
print(x)
fall()
Output:
Happy Fall!
CSE 160: Section 3
Functions run only when called
def winter():
x = “Happy Winter!”
print(x)
Output:
def fall():
x = “Happy Fall!”
print(x)
fall()
Output:
Happy Fall!
Include parentheses in function call
CSE 160: Section 3
Parameters
def print_twice(x):
print(x)
print(x)
print_twice(“Hi!”)
Output:
Hi!
Hi!
CSE 160: Section 3
Return Value
This function does have a return value, what will this print?
def two_times_seven():
x = 2 * 7
return x
print(two_times_seven())
Output:
14
CSE 160: Section 3
Return Value
This function does have a return value, what will this print?
def two_times_seven():
x = 2 * 7
return x
print(two_times_seven())
Output:
14
You must have a return statement if you want your function call to have access to x in two_times_seven()! Otherwise, it will return None
CSE 160: Section 3
Return vs Print in Functions
Function with a return
Function with a print statement
Output: ?
Can you see the difference?
def add(a, b):
return a + b
def add_print(a, b):
print(a + b)
CSE 160: Section 3
Function with a Return
Function with a return
def add(a, b):
return a + b
print(add(1,2))
Output:
3
CSE 160: Section 3
Function with a Print
Function with a print statement
print(add_print(1,2))
Output:
3
None
def add_print(a, b):
print(a + b)
CSE 160: Section 3
Docstrings
def abs(x):
‘’’Takes in a number (x), and returns its absolute value’’’
if x < 0:
return x * -1
else:
return x
CSE 160: Section 3
Mod Operator Overview
CSE 160: Section 3
Mod
Modulo operator, denoted as %, is a mathematical operation that calculates the remainder when one number is divided by another.
CSE 160: Section 3
Mod
CSE 160: Section 3
Mod
What is the output of the following code?
for i in range(5):
print(i % 3)
CSE 160: Section 3
Mod
What is the output of the following code?
for i in range(5):
print(i % 3)
Answer:
0
1
2
0
1
CSE 160: Section 3
Section Handout Problems
CSE 160: Section 3
Problem 1
Write a function avg_age(ages) that calculates and returns the average of a list of ages. You are not allowed to use Python’s built in sum() function. Your function should take the list ages as a parameter and return the average. For example, given ages = [20, 21, 22], avg_age(ages) should return 21.
CSE 160: Section 3
Problem 2
Given a list of students’ names (student_lst), write a function max_height(student_lst) that returns the maximum height in inches. Assume a function get_height(student) is given to you, and will return the height (in inches) of any student when given a student name.
For example: get_height(“Nicholas”) will return 75.
a) Implement the function max_height(student_lst)
b) What is the return type of max_height(student_lst)?
c) Suppose you printed the max height instead of returning it. What would be the return
type of max_height(student_lst)
CSE 160: Section 3
Problem 5
Write a function called count_character(word, search), where given a string
called word, return the number of times the character called search appears.
For example, count_character(“apple pie”, “p”) return 3.
CSE 160: Section 3
Additional Problems
CSE 160: Section 3
Problem 3
Write a function count_letters(word_list, target) that counts the number of times a target letter appears in a list of strings and returns it. For example, given word_list = [“this”, “is”, “a”, “list”] and target = “s”, count_letters(word_list, target) should return 3.
CSE 160: Section 3
Problem 4
Write a function called budget_saver(cost, budget) that takes the price of a product and a budget. The function should return “too expensive” if the price is more than the budget, “great deal” if the price is less than the budget, and “okay” if the cost and budget are equal.
For example, budget_saver(250, 100) returns “too expensive”.
CSE 160: Section 3
Written Check-In Due Friday
CSE 160: Section 3