Форум сайта python.su
22
привет. не могу понять как исправить ошибку
def f2():
global a
a=1
def f1():
for i in (1,2,3,4,5):
a=a+i
print a
f1()
>>>
Traceback (most recent call last):
File "D:/Ильнур/Мои документы/Desktop/1.py", line 9, in <module>
f1()
File "D:/Ильнур/Мои документы/Desktop/1.py", line 7, in f1
a=a+i
UnboundLocalError: local variable 'a' referenced before assignment
>>>
Офлайн
20
Нет, неправильно потому что на первом шаге цикла переменная ‘a’ не определена и непонятно к чему прибавлять ‘i’. Кроме того, в функции f2() вы ссылаетесь на некую глобальную ‘a’, которая вне функций нигде не объявлена.
Офлайн
568
Soteric
Нет, неправильно потому что на первом шаге цикла переменная ‘a’ не определена и непонятно к чему прибавлять ‘i’. Кроме того, в функции f2() вы ссылаетесь на некую глобальную ‘a’, которая вне функций нигде не объявлена.
def f2():
global a
a=1
def f1():
for i in (1,2,3,4,5):
global a
a=a+i
print a
f2()
f1()
>>>
2
4
7
11
16
Офлайн
22
спасибо всем за помощь.
не хватало global a в цикле.
зачем это нужно. это просто кусок кода, в которой у меня возникла такая ошибка.
вопрос решен. спасибо
Офлайн