сделать проверку?
if message.text.isdigit() and int(message.text) in range(1, 12 + 1):
...
или
if message.text.isdigit():
if int(message.text) in range(1, 12 + 1):
...
Второй вариант, первый упадёт, как только будет другой тип
Да, не упадет
Разве? Строка об второе условие не ударится?
Первое не пропустит
False and True False
Не в этом дело
try: value = int(message.text) except ValueError: return if not (0<value<12): return ...
А дальше ты message.text юзаешь или опять к инту приводишь?
Try ex сюда приплетать? А не многовато ли ему?)
Завтра понадобится -1 ловить, что делать будет?
Видимо, снимать трусы и бегать...
Мне нужно понимать, число в диапазоне прилетело или нет Если не в диапазоне, то писать юзеру что нужно попробовать еще раз Если в диапазоне, fsm и переходим в следующий стейт
Так тебе дальше нужно число само число не важно?
Конечно, в базу пишу Я просто не понимаю, а к чему этот вопрос?
Ну тогда тебе надо один раз в инт преобразовать и юзать везде это число, а не десять раз и делать косвенные проверки
Окей, спасибо Хотел кстати ещё кое-что спросить. есть класс URLMakers, в котором есть функции для создания url'ов для коннекта к чему-либо, например create_redis_url() И я вот не понимаю, правильно ли я делаю, что создаю глобальную переменную не в main(), а где-то снаружи (см. скриншот) Просто мне кажется, что её стоит делать как раз в этом самом мейне Или я ошибаюсь?...
Если в ней что-то может меняться - точно не глобал. Если в ней сокрыта логика, которую возможно захочется подменить или настроить - точно не глобал
Обсуждают сегодня