연습문제 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
식재료별_칼로리
사전에 새로운 항목을 추가하면, 이 사전을 사용하는 함수에서 치즈의 칼로리도 계산할 수 있게 된다.