Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему не получается получить рандомное число в Python Telebot?

Павел Большенков Знаток (274), на голосовании 1 месяц назад
import telebot
import random

BOT_TOKEN = 'токен'
bot = telebot.TeleBot(BOT_TOKEN)

@bot.message_handler(commands=['random'])
def send_random_number(message):
try:
# Разделение команды и получение чисел
_, num1, num2 = message.text.split()
num1 = int(num1)
num2 = int(num2)
# Генерация случайного числа
random_number = random.randint(num1, num2)
bot.reply_to(message, f'{random_number}')
except (ValueError, IndexError):
bot.reply_to(message, 'Пожалуйста, используйте формат: /random Число1 Число2')

bot.polling(none_stop=True)
Голосование за лучший ответ
Алексей Лапаев Мудрец (17453) 2 месяца назад
import telebot
import random

BOT_TOKEN = 'токен'
bot = telebot.TeleBot(BOT_TOKEN)

@bot.message_handler(commands=['random'])
def send_random_number(message):
try:
# Разделение команды и получение чисел
args = message.text.split()
if len(args) != 3:
raise ValueError
_, num1, num2 = args
num1 = int(num1)
num2 = int(num2)

# Проверка диапазона
if num1 > num2:
bot.reply_to(message, 'Первое число должно быть меньше или равно второму числу')
return

# Генерация случайного числа
random_number = random.randint(num1, num2)
bot.reply_to(message, f'{random_number}')
except ValueError:
bot.reply_to(message, 'Пожалуйста, используйте формат: /random Число1 Число2')
except Exception as e:
bot.reply_to(message, f'Произошла ошибка: {str(e)}')

bot.polling(none_stop=True)
Похожие вопросы