These multiple choice questions are for the “Creating Functions” (http://www.software-carpentry.org/v5/novice/python/02-func.html) lesson from the ‘Python for Novices’ course.
Formative Assessment
Consider the following code:
x=0
def add_one(x):
x=x+1
return x
add_one(1)
print "x=",x
What will be printed?
- 0
- 1
- 2
Summative Assessment
Consider the following code:
x=1
y=2
z=3
def FMA(x,y):
z=multiply(x,y)
x=x+z
return x
def multiply(x,y):
x=x*y
return x
z=FMA(1,1)
print x,y,z
What will be printed?
- 1 2 2
- 2 1 2
- 4 2 2
Explanation of answer and distractors:
- Is correct.
- Is wrong. The student has misunderstood the assignment of the local variables ‘x,y,z’ in the FMA function to apply to the variables ‘x,y,z’ outside the function.
- Is wrong. The student has misunderstood the variable passing to the FMA function and has used the values of ‘x,y,z’ from the top of the program, not the values from the call.