Инструкција global у Пајтону

Нека имамо спољну глобалну променљиву i. Такође имамо функцију func која додаје јединицу овој променљивој:

pythoni = 0
def func():
  i += 1 # исписаће грешку
  return i

Након извршавања кода вратиће се грешка, јер долази до конфликта глобалне i, декларисане у спољном коду, и локалне i, којој се додаје 1, али сама променљива још није декларисана. Да бисмо исправили овај проблем и поставили функцију да ради управо са глобалном променљивом, потребно је користити инструкцију 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())

Шта није у реду са овим кодом? Пронађите и исправите грешку аутора кода.