Инструкция global в Python

Пусть у нас есть внешняя глобальная переменная i. Также есть функция func, которая прибавляет к этой переменной единицу:

i = 0 def func(): i += 1 # выведет ошибку return i

После выполнения кода вернется ошибка, потому что происходит конфликт глобальной i, объявленной во внешней коде, и локальной i, к которой прибавляется 1, но сама переменная еще не объявлена. Для того, чтобы исправить данную проблему и задать функции работу именно с глобальной переменной, нужно использовать инструкцию global. Эта инструкция представляет собой объявление, которое выполняется для всего текущего блока кода, в котором оно задано.

Давайте перепишем предыдущий пример, объявив в теле функции global:

def func(): global i i += 1 return i print(func()) # выведет 1

В следующем коде некоторый программист допустил ошибку:

num = 4 def func(): num *= 2 return num print(func())

Что не так с этим кодом? Найдите и исправьте ошибку автора кода.

В следующем коде некоторый программист допустил ошибку:

num = 10 def func(): num -= 3 return i print(func())

Что не так с этим кодом? Найдите и исправьте ошибку автора кода.



Чат с GPT Компилятор