# Oops, try again. alice does not seem to contain the correct dictionary, it should contain: {'quizzes': [82.0, 83.0, 91.0], 'tests': [89.0, 97.0], 'name': 'Alice', 'homework': [100.0, 92.0, 98.0, 100.0]}

#1

8.Part of a whole Unit 6

Oops, try again. alice does not seem to contain the correct dictionary, it should contain: {'quizzes': [82.0, 83.0, 91.0], 'tests': [89.0, 97.0], 'name': 'Alice', 'homework': [100.0, 92.0, 98.0, 100.0]}

return average of list named results

``````Replace this line with your code.
lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0],
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0],
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0],
}

def average(numbers) :
total=sum(numbers)
total=float(total)
length=len(numbers)
def get_average(students) :
homework=average(students["homework"])
quizzes=average(students["quizzes"])
tests=average(students["tests"])
h=homework*1/10
q=quizzes*3/10
t=tests*6/10
score =h+q+t
return score
if score>=90:
return"A"
elif score>=80:
return"B"
elif score>=70:
return "C"
elif score>=60:
return "D"
else:
return "F"
def lloyd(score):
homework=average(lloyd["homework"])
quizzes=average(lloyd["quizzes"])
tests=average(lloyd["tests"])
h=homework*1/10
q=quizzes*3/10
t=tests*6/10
return h+q+t
def alice(score):
homework=average(alice["homework"])
quizzes=average(alice["quizzes"])
tests=average(alice["tests"])
h=homework*1/10
q=quizzes*3/10
t=tests*6/10
return q+t+h
def tyler(score):
homework=average(tyler["homework"])
quizzes=average(tyler["quizzes"])
tests=average(tyler["tests"])
h=homework*1/10
q=quizzes*3/10
t=tests*6/10
return h+q+t
def get_class_average(students):
homework=average(students["homework"])
quizzes=average(students["quizzes"])
tests=average(students["tests"])
h=homework*1/10
q=quizzes*3/10
t=tests*6/10
score =h+q+t
results=[];
results.append(lloyd(score))
results.append(alice(score))
results.append(tyler(score))
return average(results)
print lloyd(score)``````

#2

@cuboid10,
Read the Function Talk
concentrating on the usage of parameter and argument
AND
if you use `1/10` instead of `0.1`
you should use `1/10.0`

### the FUNCTION talk

``````def myFunc( param1, param2):
# Begin of =myFunc= FUNCTION-BODY
# this =myFunc= function- has 2 PARAMETERS param1 and param2
# param1 and param2 PARAMETERS are used
# as -local- VARIABLES throughout the =myFunc= FUNCTION-BODY
print( param1 + " and " + param2 )
#End of =myFunc= FUNCTION-BODY``````

If you want to call/execute the myFunc function
you will have to add a pair of parentheses to myFunc
like
myFunc()
As the myFunc function was defined
as having 2 parameters
you have to provide 2 arguments
in our case 2 string VALUES "Alena" and "Lauren"
like
myFunc("Alena","Lauren")

some quotes from the outer-world:

**argument is the value/variable/reference being passed in,
parameter is the receiving variable used within the function/block**

OR

**"parameters" are called "formal parameters",
while "arguments" are called "actual parameters".**

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++ function with 1 parameter using return-statement

``````def myFunction( param1 ):
# //Begin of =myFunction= FUNCTION-BODY
# //=myFunction= function has 1 PARAMETER param1
# //this param1 PARAMETER is used as a -local- VARIABLE
# //throughout the =myFunction= FUNCTION-BODY
return param1;
# //End of FUNCTION-BODY``````

You have defined a myFunction function
which takes 1 parameter param1
this param1 parameter is used
as a variable throughout the =myFunction= FUNCTION-BODY.

If you want to call/execute this myFunction function
and this myFunction function was defined
as having 1 parameter param1
you will have to provide 1 argument
in our case a "number VALUE" 4
myFunction( 4 )

some quotes from the outer-world:

**argument is the value/variable/reference being passed in,
parameter is the receiving variable used within the function/block**

OR

**"parameters" are called "formal parameters",
while "arguments" are called "actual parameters".**

#### ============================================

As you are using the return-statement in your myFunction function
you will only get a return-value no-display.
You can however capture this return-value in a variable
and then use the print-method to do a display.

``````theResult = myFunction( 4 )
print theResult``````

OR directly

``print myFunction( 4 )``

#3

@leonhard.wettengmx.n,
Thank you so much for your help. I will try out your suggestions and will let you know. Thanks again!

#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.