1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 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) total = total /len(numbers) return total print total def get_average(x): homework = average(x["homework"]) #dictionary에서 homework 키를 가진 값의 평균을 구한다. quizzes = average(x["quizzes"]) tests = average(x["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" print get_letter_grade(get_average(lloyd)) def get_class_average(x): results = [] for item in x: results.append(get_average(item)) return average(results) # 빈 리스트 result에 각 학생들 평균값을 추가한다. # 그리고 average(results)로 최종 평균을 구한다. students = [lloyd, alice, tyler] # 학생의 dictionary 값을 포함한 리스트 print get_class_average(students) print get_letter_grade(get_class_average(students)) | cs |
'codeacademy' 카테고리의 다른 글
| 15. Practice Makes Perfect / digit_sum (0) | 2017.03.28 |
|---|---|
| 13. Battle ship! (0) | 2017.03.28 |
| 10. A Day at the Supermarket / Stocking Out (0) | 2017.03.28 |
| 8. Taking a Vacation / Hey, You Never Know! (0) | 2017.03.28 |
| 7. Functions / Practice Makes Perfect (0) | 2017.03.28 |
댓글