파이썬에서 global 지시문

외부 전역 변수 i가 있다고 가정해 봅시다. 또한 이 변수에 1을 더하는 함수 func가 있습니다:

pythoni = 0
def func():
  i += 1 # 오류가 발생합니다
  return i

코드를 실행한 후에는 오류가 반환됩니다. 이는 외부 코드에서 선언된 전역 i와 1이 더해지지만 변수 자체가 아직 선언되지 않은 로컬 i 사이에 충돌이 발생하기 때문입니다. 이 문제를 해결하고 함수가 전역 변수와 작업하도록 지정하려면 global 지시문을 사용해야 합니다. 이 지시문은 지정된 현재 코드 블록 전체에 대해 실행되는 선언입니다.

이전 예제를 함수 본문에 global를 선언하여 다시 작성해 보겠습니다:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # 1을 출력합니다
Задание 1

다음 코드에서 어떤 프로그래머가 실수를 했습니다:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

이 코드의 문제점은 무엇인가요? 코드 작성자의 오류를 찾아 수정하세요.

Задание 2

다음 코드에서 어떤 프로그래머가 실수를 했습니다:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

이 코드의 문제점은 무엇인가요? 코드 작성자의 오류를 찾아 수정하세요.