Global instruktion i Python

Låt oss säga att vi har en extern global variabel i. Det finns också en funktion func som lägger till ett till denna variabel:

pythoni = 0
def func():
  i += 1 # kommer att ge ett fel
  return i

Efter att koden har körts returneras ett fel, eftersom det uppstår en konflikt mellan den globala i, deklarerad i den externa koden, och den lokala i, till vilken 1 adderas, men variabeln i sig är ännu inte deklarerad. För att lösa detta problem och få funktionen att arbeta med just den globala variabeln måste man använda instruktionen global. Denna instruktion är en deklaration som gäller för hela det aktuella kodblocket där den är definierad.

Låt oss skriva om föregående exempel och deklarera global i funktionskroppen:

pythondef func():
  global i
  i += 1
  return i
  
print(func()) # kommer att skriva ut 1
Задание 1

I följande kod har en programmerare gjort ett misstag:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

Vad är fel med den här koden? Hitta och rätta till programmerarens fel.

Задание 2

I följande kod har en programmerare gjort ett misstag:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

Vad är fel med den här koden? Hitta och rätta till programmerarens fel.