Příkaz global v Pythonu

Předpokládejme, že máme vnější globální proměnnou i. Také existuje funkce func, která k této proměnné přičte jedničku:

pythoni = 0
def func():
  i += 1 # vypíše chybu
  return i

Po provedení kodu vrátí chybu, protože dochází ke konfliktu globální proměnné i, deklarované ve vnějším kódu, a lokální proměnné i, ke které se přičítá 1, ale samotná proměnná ještě není deklarována. K nápravě tohoto problému a nastavení funkce pro práci právě s globální proměnnou je třeba použít příkaz global. Tento příkaz představuje deklaraci, která se provádí pro celý aktuální blok kodu, ve kterém je zadán.

Přepišme předchozí příklad deklarací v těle funkce global:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # vypíše 1
Задание 1

V následujícím kódu nějaký programátor udělal chybu:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Co je špatně na tomto kódu? Najděte a opravte chybu autora kódu.

Задание 2

V následujícím kódu nějaký programátor udělal chybu:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Co je špatně na tomto kódu? Najděte a opravte chybu autora kódu.