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

Выдаёт ошибку: cannot access local variable 'status1' where it is not associated with a value. Что делать?

Пишу своего игрового бота на библеотеке telebot. Выдаёт ошибку: cannot access local variable 'status1' where it is not associated with a value. Помогите пожалуйста

@bot.message_handler(commands=['profile'])
def profile(message):
    user_id = message.from_user.id
    nick = 'Сигма'
    status = {user_data.get(user_id, {}).get('status')}
    if status == 0:
        status1 = 'Пользователь'
    elif status == 1:
        status1 = 'Вип'
    elif status == 2:
        status1 = 'Премиум'
    elif status == 3:
        status1 = 'Делюкс'
    elif status == 4:
        status1 = 'Хелпер'
    elif status == 5:
        status1 = 'Модератор'
    elif status == 6:
        status1 = 'Админ'
    bot.reply_to(message, f"Твой никнейм: {nick}"
                          f"\n----------------------------------------"
                          f"\nТвой баланс: {user_data.get(user_id, {}).get('balance', 0)}"
                          f"\n----------------------------------------"
                          f"\nТвой опыт: {user_data.get(user_id, {}).get('exp', 0)}"
                          f"\n----------------------------------------"
                          f"\nТвой статус: {status1}")
  • Вопрос задан
  • 40 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Maksim_64
@Maksim_64
Data Analyst
твои if elif не покрывают всех условий. Либо добавь else и там чему равен status1, когда все вышеперечисленные условия False. Или проверяй status там не то что ожидаешь. Может например там строка, а ты проверяешь на соответствие числу, может еще что-то.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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