что делать при ошибке local variable referenced before assignment?
когда делал проверку вещи столкнулся с ошибкой
@handler.message(name=['Угон'])
async def _(message, args, bot, user, chat, chat_user):
ugon = get(user)
if (user.ebyprog == 0):
ebytexts = 'Отсутствует'
if (user.ebyprog == 1):
ebytexts = 'Есть'
await user.reply(f'{user.mention()}, угоняйте автомобили:\n'
f'? Программатор ЭБУ: {ebytexts} \n',
keyboard=kb, inline=True)
Ошибка:
local variable 'ebytexts' referenced before assignment File "C:\\Users\\Максимка\\Desktop\\помои\\prostobot\\app\\bot\\commands\\games\\ugon.py",
line 51, in _\n f\'? Программатор ЭБУ: {ebytexts} \\n\',\n']
Ответы (2 шт):
Автор решения: Труфальдино
→ Ссылка
не знаком python, но судя по коду вы инициализируете ebytexts в условном операторе if. Но компиляторы предполагает, что программа может и не попасть в точку if,а значит переменная не сможет использоваться. Вот он и ругается.
Автор решения: Clark Devlin
→ Ссылка
Значит ваши условия не выполняются и переменная ebytexts не создается. А ошибка local variable referenced before assignment означает, что переменная, которую вы вызываете не объявлена.