함수 내부에서 전역변수 current_point의 값을 변경하고 싶다면 앞서 배운 것처럼 global로 전역변수 사용을 명시하면 됩니다.
def reward_penalty(kind, points):
global current_point
print('현재 점수 :', current_point)
if kind == '상점':
current_point += points
print('상점 입력 후 점수 :', current_point)
elif kind == '벌점':
current_point -= points
print('벌점 입력 후 점수 :', current_point)
return current_point
current_point = 5
reward_penalty('상점', 5)
print('최종 점수 :', current_point)
실행결과
현재 점수 : 5
상점 입력 후 점수 : 10
최종 점수 : 10
함수에서 지역변수와 전역변수의 사용 범위를 이해하는 것이 매우 중요합니다. 사용 범위가 다른 두 변수를 잘못 쓰면 오류가 발생하거나 의도하지 않은 값이 변경될 수 있기 때문이죠. 프로그램을 작성할 때 변수의 사용 범위를 한 번 더 생각해 보기 바랍니다.