目前,我正在學習關於codeacademy蟒蛇,我試圖做這個代碼的最後一個函數如下:目前我正在學習關於codeacademy Python和我無法弄清楚什麼是錯的這個代碼
定義一個名爲get_class_average的函數,它具有一個參數student。
你可以期望學生成爲一個列表,包含你的三名學生。 首先,創建一個名爲results的空列表。
對於班級列表中的每個學生項目,計算get_average(student),然後用該結果調用results.append()。
最後,返回調用average()和結果的結果。 但我不斷收到此錯誤,我試圖運行代碼。
「哎呀,再試一次get_class_average([愛麗絲])如預期回到80.55,而不是91.15。」
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) return total/len(numbers) def get_average(student): homework = average(student["homework"]) quizzes = average(student["quizzes"]) tests = average(student["tests"]) return 0.1 * homework + 0.3 * quizzes + 0.6 * tests 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" def get_class_average(students): students = [lloyd, alice, tyler] results = [] for student in students: results.append(get_average(student)) return average(results) print get_class_average(students) print get_letter_grade(get_class_average)
您正在覆蓋函數get_class_average中的'students'。 「學生」是該功能的一個參數是有原因的。 – Matthias