Instrukcja global w Pythonie

Załóżmy, że mamy zewnętrzną globalną zmienną i. Istnieje również funkcja func, która dodaje do tej zmiennej jedynkę:

pythoni = 0
def func():
  i += 1 # wyświetli błąd
  return i

Po wykonaniu kodu zwrócony zostanie błąd, ponieważ występuje konflikt między globalną i zadeklarowaną w zewnętrznym kodzie a lokalną i, do której dodawana jest 1, ale sama zmienna nie jest jeszcze zadeklarowana. Aby naprawić ten problem i sprawić, by funkcja pracowała właśnie z zmienną globalną, należy użyć instrukcji global. Ta instrukcja reprezentuje deklarację, która wykonywana jest dla całego bieżącego bloku kodu, w którym jest zdefiniowana.

Przepiszmy poprzedni przykład, deklarując w ciele funkcji global:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # wyświetli 1
Задание 1

W następnym kodzie pewien programista popełnił błąd:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Co jest nie tak z tym kodem? Znajdź i popraw błąd autora kodu.

Задание 2

W następnym kodzie pewien programista popełnił błąd:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Co jest nie tak z tym kodem? Znajdź i popraw błąd autora kodu.