01/10/2018, 10:53
Python on Codecademy

Mọi người cho em hỏi bài viết hàm get_class_average() làm như thế nào ạ, em viết nhưng nó lỗi không return được số mà không biết sửa như nào ạ.
Code em làm đây ạ:
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]
}
# Add your function below!
def average(numbers):
total = sum(numbers)
total = float(total)
result = float(total/len(numbers))
return result
def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
result = 0.1 * homework + 0.3 * quizzes + 0.6 * tests
return result
def get_letter_grade(score):
if score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
else:
return "F"
print get_letter_grade(lloyd)
def get_class_average(class_list):
result = []
for student in class_list:
result.append(get_average(student))
return result
Bài liên quan
Bạn thử cái này
Nó vẫn không được ạ

result là list, hình như không float được ạ
Mình ghi nhầm
À được rồi, Em cảm ơn ạ.
Cho em hỏi thêm là result ở hàm này nó tự loại trường name của dictionary đi hay nó cho kết quả là 0 ạ?
result
là một list nhận từng kết quả từget_average(student)
vớistudent
là từngstudent
là cácdict
. Hàmget_average
thì lại có được kết quả bằng cách lấy từnghomework, quizzes, tests
củastudent
ra để tính trung bình, sau đó return lại một số.Mình thấy các bạn học
Codecademy
rất ẩu, vì thường nó code cho đoạn nền rồi, nên giờ code bừa đoạn core, đúng thì học tiếp, sai thì hỏi. Không nên như vậy, trước khi bạn viết phần core để pass bài của nó. Bạn nên kiểm tra xem những hàm nó viết sẵn làm cái gì.Vâng e hiểu rồi ạ.!
Thank you so much!