card 1 of 10
def Raz(x):
a = 3
return x+a
>>> a = 0
>>> Raz(7)
>>> a
function namespace is isolated
10
0
card 2 of 10
def Mor(x):
a = 9
return x+a
def Raz(x):
a = 3
return x+a
>>> a = 0
>>> Raz(Mor(7))
>>> a
function namespace is isolated
19
0
card 3 of 10
def Mor(x):
return x+a
def Raz(x):
a = 3
return x+a
>>> a = 0
>>> Raz(Mor(7))
>>> Mor(Raz(7))
>>> a
function namespace is isolated
10
10
0
This is bad programming practice!
card 4 of 10
def Mor(x):
return x+a
def Raz(x):
a = 3
return Mor(x)
>>> a = 0
>>> Raz(7)
>>> a
function namespace is isolated
7
0
This is bad programming practice!
card 5 of 10
def double(x):
x = 2*x
>>> x = 3
>>> double(x)
>>> x
function namespace is isolated
3
card 6 of 10
def double(x,y):
x = 2*x
y = 2*y
>>> x,y = 3,5
>>> double(x,y)
>>> x,y
function namespace is isolated
(3,5)
card 7 of 10
def repFirst(X):
X[0] = True
>>> myseq = [5,2,1]
>>> repFirst(myseq)
>>> myseq
functions can modify list arguments
[True,2,1]
card 8 of 10
def repFirst(X):
X[0] = True
>>> mydc = {90:"ninety", 2:"car"}
>>> repFirst(mydc)
>>> mydc
functions can modify dictionary arguments
{0:True, 90:'ninety', 2:'car'}
card 9 of 10
def extend(X):
X = X + [100]
>>> myseq = [5,2,1]
>>> extend(myseq)
>>> myseq
functions can modify list arguments, but not by assignment to entire list
[5,2,1]
card 10 of 10
def truncate(X):
X[-2:-1] = [ ]
>>> myseq = [5,2,1]
>>> truncate(myseq)
>>> myseq
functions can modify list arguments by index or slice assignment
[5,1]
(use browser reload to restart this problem set)