Задать вопрос
@Mist8

Почему функция не видит переменную?

Не понимаю, почему в этом куске кода, функция не видит переменных (остальной код опущен):

right_answer = 0  # счетчик правильных ответов
wrong_answer = 0 # счетчик неправильных ответов

def score(x):
    if len(temp_list) > 2:
        temp_now = temp_list[len(temp_list)-1]
        temp_back = temp_list[len(temp_list)-3]  
        if temp_now in x and temp_back in x:
            right_answer += 1  # Здесь возникает ошибка
        if temp_now in x or temp_back in x:
            wrong_answer += 1


Выдает ошибку: UnboundLocalError: local variable 'right_answer' referenced before assignment


Вроде я ещё до функции, создал счетчики, и функции эти переменные должны быть видны? почему возникает эта ошибка и что делать?
  • Вопрос задан
  • 2287 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@s0L
Потому что по умолчанию он считает right_answer локальной переменной. В вашей функции добавте строку global right_answer в самом начале
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы