Global instruktion i Python

Lad os sige, at vi har en ekstern global variabel i. Der er også en funktion func, som tilføjer én til denne variabel:

pythoni = 0
def func():
  i += 1 # vil vise en fejl
  return i

Efter udførelse af koden returneres en fejl, fordi der er en konflikt mellem den globale i, erklæret i den eksterne kode, og den lokale i, som 1 tilføjes til, men variablen er endnu ikke erklæret. For at rette dette problem og få funktionen til at arbejde med den globale variabel, skal vi bruge instruktionen global. Denne instruktion er en erklæring, som udføres for hele den aktuelle kodeblok, hvor den er angivet.

Lad os omskrive det forrige eksempel ved at erklære global i funktionens krop:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # vil vise 1
Задание 1

I følgende kode har en programmør begået en fejl:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Hvad er der galt med denne kode? Find og ret fejlen i forfatterens kode.

Задание 2

I følgende kode har en programmør begået en fejl:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Hvad er der galt med denne kode? Find og ret fejlen i forfatterens kode.