초판 1쇄 문제 오류 정정

연습문제 5-12에 오류가 있어 다음과 같이 정정한다.

잘못된 부분

사전을 수정하는 것과 함수를 수정하는 것 중 어느 방식이 더 편리한가? 그 이유는 무엇인가?

교정

(삭제)

수정하는 이유

문제 (오류를 수정한 버전)

앞에서 정의한 식재료별_칼로리 사전 또는 칼로리() 함수를 수정하여 칼로리() 함수가 치즈의 칼로리도 계산할 수 있도록 해 보라. 참고로 치즈의 칼로리는 402.5 kcal / 100g이다.

코드

식재료별_칼로리 = {
    '밀가루': 364.0 / 100,
    '피망': 20.1 / 100,
    '올리브': 115.0 / 100,
    '돼지고기': 242.1 / 100,
    '치즈': 402.5 / 100,
}

def 칼로리(음식종류, 섭취량):
    """음식의 종류와 섭취량을 매개변수에 전달받아 총 칼로리를 반환한다."""
    return 식재료별_칼로리.get(음식종류, 0) * 섭취량

# 함수의 동작 확인
print(칼로리('돼지고기', 500))
print(칼로리('소고기', 300))
print(칼로리('치즈', 200))

실행 결과

1210.5
0
805.0000000000001

해설