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

Нека имаме надворешна глобална променлива 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())

Што не е во ред со овој код? Најдете и поправете ја грешката на авторот на кодот.