13장
1분 퀴즈
1 정답 ⑤
코드 (나)에서 먼저 wakeup() 함수를 정의한 후, 코드 (가)에서 함수를 호출하면 wakeup() 함수 내부에 있는 명령어가 실행됩니다. wakeup() 함수 내부에는 print('일어날 시간입니다!')와 print('빨리 일어나세요!')가 포함되어 있으므로 두 명령어 모두 실행됩니다.
2 정답 ④
return으로 돌려주는 값은 여러 개를 설정해도 됩니다. 앞에서 작성한 calculate_score_pass() 함수를 다시 살펴보세요.
3 정답 ③
프로그램 실행결과 total_calorie에는 1750이 저장됩니다. 프로그램에서 total_calorie와 food는 전역변수입니다. 따라서 eat(food_name = '햄버거', food_calorie = 750)이 실행될 때 함수 eat() 함수 내부에서 total_calorie += food_calorie와 food.append(food_name)가 실행되어 total_calorie에는 750이, food에는 ['햄버거']가 저장됩니다. 그 다음 eat(food_name = '치킨', food_calorie = 1000)이 실행될 때 eat() 함수 내부에서 total_calorie에는 기존 750에 1000이 추가되어 1750이, food에는 '치킨'이 추가되어 ['햄버거', '치킨']이 저장됩니다.
4 정답 ②
discount는 함수 내부에서만 사용되는 지역변수이므로 함수 외부에서는 값을 읽지도 변경하지도 못합니다. cal_price() 함수가 호출되어 실행될 때가 아니면 cal_price() 내부는 가려지기 때문에 cal_price()에 정의된 변수 역시 보이지 않습니다. 따라서 프로그램의 마지막 줄에 print(discount)를 추가하면 오류가 발생합니다.