코드 풀이 부탁드립니다...
def create_student(name, korean, math, english, science):
    return{
        "name" : name,
        "korean" : korean,
        "math" : math,
        "english" : english,
        "science" : science
    }

def student_get_sum(student):
    return student["korean"] + student["math"] +\
        student["english"] + student["science"]

def student_get_average(student):
    return student_get_sum(student) / 4

def student_to_string(student):
    return "{}\t{}\t{}".format(
        student["name"],
        student_get_sum(student),
        student_get_average(student_get_average))





students = [
    create_student("김민성", 87, 98, 88, 95),
    create_student("연하진", 92, 98, 96, 98),
    create_student("구지연", 76, 96, 94, 90),
    create_student("나선주", 98, 92, 96, 92),
    create_student("윤아린", 95, 98, 98, 98),
    create_student("윤명월", 64, 88, 92, 92)
]

print("이름", "총점", "평균", sep="\t")

for student in students:
    print(student_to_string(student))

위 코드를 실행시키면

obfect_3_seperate.py", line 39, in
print(student_to_string(student))

\obfect_3_seperate.py", line 21, in student_to_string
student_get_average(student_get_average))

\obfect_3_seperate.py", line 15, in student_get_average
return student_get_sum(student) / 4

\obfect_3_seperate.py", line 11, in student_get_sum
return student["korean"] + student["math"] +\

TypeError: 'function' object is not subscriptable

위와 같은 오류가 발생합니다. 헌데 대체 어디가 틀렸는지 모르겠습니다.

그리고 제가 알기로 리턴 값의 경우 따로 저장시키지 않으면 소멸이 되는 것으로 알고 있는데
코드의 to_string 함수 리턴에서 딕셔너리 값과 sum 값은 따로 저장시키지 않아도 값이 소멸되지 않나요?
리턴 문에서 sum 함수를 실행시키게 되면 앞선 딕셔너리 값은 소멸되고 또 average 함수를 실행시키게 되면
앞선 sum 함수의 값은 소멸되는 것 아닌가요?

개발자가_되어보자 540

M 2021년 1월 11일 11:39 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

student_get_average(student_get_average) 대신 student_get_average(student) 로 해야될거 같네요.

박응용

2021년 1월 12일 1:06 오전

앗.. 답변 주셔서 감사합니다. "그리고 제가 알기로 리턴 값의 경우 따로 저장시키지 않으면 소멸이 되는 것으로 알고 있는데 코드의 to_string 함수 리턴에서 딕셔너리 값과 sum 값은 따로 저장시키지 않아도 값이 소멸되지 않나요? 리턴 문에서 sum 함수를 실행시키게 되면 앞선 딕셔너리 값은 소멸되고 또 average 함수를 실행시키게 되면 앞선 sum 함수의 값은 소멸되는 것 아닌가요?" 이 부분도 알려주시면 감사하겠습니다! - 개발자가_되어보자님, 2021년 1월 12일 1:09 오전 추천 , 대댓글