Почему в цикле из функции нельзя получить доступ к переменной? Python
Такой код (табуляция опущена) :
a = 0
def myFunc():
a+=1
print(a)
myFunc()
Интерпретатор выдаёт ошибку: local varriable 'a' referenced before assignment
Если же написать так:
a = 0
def myFunc():
if a == 0:
print(a)
myFunc()
Ошибки не будет, все работает.
В чем проблема? Почему я не всегда могу получить доступ к глобальной переменной? ? Что ща бред?
Первую часть неправильно написал! Вот так:
a = 0def myFunc():while a != 10:a+=1print(a)myFunc()
Короче строку while a != 10: забыл
Проблема решена. Приходится в виде аргументов указывать нужные переменные, чтобы занести из в функцию