Instrucțiunea global în Python

Să presupunem că avem o variabilă globală externă i. De asemenea, există o funcție func care adaugă una la această variabilă:

pythoni = 0
def func():
  i += 1 # va afișa o eroare
  return i

După executarea codului, va returna o eroare, deoarece există un conflict între variabila globală i, declarată în codul extern, și variabila locală i, căreia i se adaugă 1, dar variabila în sine nu este încă declarată. Pentru a remedia această problemă și a face funcția să lucreze chiar cu variabila globală, trebuie să folosim instrucțiunea global. Această instrucțiune reprezintă o declarație care se execută pentru întregul bloc de cod curent în care este setată.

Să rescriem exemplul anterior, declarând în corpul funcției global:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # va afișa 1
Задание 1

În următorul cod, un programator a făcut o greșeală:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Ce nu este în regulă cu acest cod? Găsiți și corectați greșeala autorului codului.

Задание 2

În următorul cod, un programator a făcut o greșeală:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Ce nu este în regulă cu acest cod? Găsiți și corectați greșeala autorului codului.