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 ạ?
resultlà một list nhận từng kết quả từget_average(student)vớistudentlà từngstudentlà cácdict. Hàmget_averagethì lại có được kết quả bằng cách lấy từnghomework, quizzes, testscủastudentra để tính trung bình, sau đó return lại một số.Mình thấy các bạn học
Codecademyrấ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!