La instrucción global en Python

Supongamos que tenemos una variable global externa i. También hay una función func que le suma una unidad a esta variable:

pythoni = 0
def func():
  i += 1 # mostrará un error
  return i

Después de ejecutar el código, se devolverá un error, porque hay un conflicto entre la variable global i, declarada en el código externo, y la variable local i, a la que se le suma 1, pero la variable en sí aún no ha sido declarada. Para solucionar este problema y hacer que la función trabaje específicamente con la variable global, es necesario usar la instrucción global. Esta instrucción es una declaración que se ejecuta para todo el bloque de código actual en el que se define.

Reescribamos el ejemplo anterior, declarando en el cuerpo de la función global:

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

En el siguiente código, algún programador cometió un error:

pythonnum = 4

def func():
  num *= 2
  return num

print(func())

¿Qué está mal en este código? Encuentre y corrija el error del autor del código.

Задание 2

En el siguiente código, algún programador cometió un error:

pythonnum = 10

def func():
  num -= 3
  return i

print(func())

¿Qué está mal en este código? Encuentre y corrija el error del autor del código.