Lectures 5 & 6: FunctionsΒΆ
Based on the lecture and the readings (R&S Functions) you should be able to:
Identify how to define and call functions
Understand scoping.
Below, please find some practice problems for this topic. These
problems should be completed by hand. You can check your answers
using the files in lpp/lec5-6
in your repository. (Run git pull
upstream master
to pick up these files.)
Write the code necessary to complete the following function.
def check_number_order(num_list):
'''
Purpose: given a list of three numbers (n1, n2, and n3), check
that n1 < n2 < n3. Return the boolean for whether this order is
preserved.
Inputs:
num_list (list): a list of three numbers (int or float)
Returns (boolean): return True if the values are in order, False
otherwise.
'''
Explain what this function does in plain English.
def mystery(number_list):
''' Why knows ... '''
count = 0
for num in number_list:
if num < 0:
count += 1
return count
What is the output of
call_mystery
:
def mystery(l):
''' Why knows ... '''
rv = []
for x in l:
rv = [x] + rv
return rv
def call_mystery():
''' Runs mystery function ... '''
print("Warmup exercise 2:")
l = [0, 1, 2, 3, 4]
nl = mystery(l)
print("l: ", l)
print("nl: ", nl)
Explain what this function does in plain English.
def mystery(list1):
start_val = 0
rl = []
i = -1
for i in list1:
if i > start_val:
i = start_val
for j in list1:
if j >= i - 100:
rl.append(j)
return rl
What is the output of the following code:
def F1(i, j) :
print("F1({}, {})".format(i, j))
F2(j, i+j)
print("F1: i = {}, j = {}".format(i, j))
def F2(i, j) :
print(" F2({}, {})".format(i, j))
k = F3(i, j)
print(" F2: i = {}, j = {}, k = {}".format(i, j, k))
def F3(i, j) :
print(" F3({}, {})".format(i, j))
i = i+j
j = i+2*j
k = 2*i+3*j
print(" F3: i = {}, j = {}, k = {}".format(i, j, k))
return k
print("Warmup exercise 1:")
F1(1, 1)
print()
(Challenge exercise): What is the output of the following code?
def mystery3(l):
n = len(l)
for i in range(n // 2):
t = l[i]
l[i] = l[n-i-1]
l[n-i-1] = t
print("Challenge exercise:")
l = [0, 1, 2, 3, 4]
mystery3(l)
print("l: ", l)