pvk DOK P pvk DOK Регистрация 28 Июл 2013 Сообщения 81 Репутация 0 Спасибо 0 Монет 0 16 Май 2024 #1 input: from random import randint import telebot from telebot import types bot = telebot.TeleBot('токен') #Обработка команды /start @bot.message_handler(commands=['start']) def main(message): client_id = message.chat.id markup = types.ReplyKeyboardMarkup() randomizer_button = types.KeyboardButton('Сгенерировать число!') markup.row(randomizer_button) bot.send_message(client_id, 'Привет!', reply_markup=markup) bot.register_next_step_handler(message, first_num) def first_num(message): client_id = message.chat.id bot.send_message(client_id, 'Хорошо. Введите первое число!') bot.register_next_step_handler(message, second_num) def second_num(message): client_id = message.chat.id first_number = int(message.text) bot.send_message(client_id, 'Хорошо. Введите второе число!') bot.register_next_step_handler(message, num_generator) def num_generator(message): client_id = message.chat.id second_number = int(message.text) bot.send_message(client_id, f'Сгенерированное число: {randint(first_number, second_number)}') bot.polling(none_stop=True) output: NameError: name 'first_number' is not defined. Did you mean: 'first_num'? почему он не видит переменную first_number?
input: from random import randint import telebot from telebot import types bot = telebot.TeleBot('токен') #Обработка команды /start @bot.message_handler(commands=['start']) def main(message): client_id = message.chat.id markup = types.ReplyKeyboardMarkup() randomizer_button = types.KeyboardButton('Сгенерировать число!') markup.row(randomizer_button) bot.send_message(client_id, 'Привет!', reply_markup=markup) bot.register_next_step_handler(message, first_num) def first_num(message): client_id = message.chat.id bot.send_message(client_id, 'Хорошо. Введите первое число!') bot.register_next_step_handler(message, second_num) def second_num(message): client_id = message.chat.id first_number = int(message.text) bot.send_message(client_id, 'Хорошо. Введите второе число!') bot.register_next_step_handler(message, num_generator) def num_generator(message): client_id = message.chat.id second_number = int(message.text) bot.send_message(client_id, f'Сгенерированное число: {randint(first_number, second_number)}') bot.polling(none_stop=True) output: NameError: name 'first_number' is not defined. Did you mean: 'first_num'? почему он не видит переменную first_number?
Террантул Т Террантул Регистрация 4 Июл 2013 Сообщения 101 Репутация 0 Спасибо 0 Монет 0 16 Май 2024 #2 нужно объявить переменные first_number и second_number как глобальные, чтобы они были доступны в разных функциях.
нужно объявить переменные first_number и second_number как глобальные, чтобы они были доступны в разных функциях.
Lexa L Lexa Регистрация 21 Фев 2013 Сообщения 89 Репутация 0 Спасибо 0 Монет 0 16 Май 2024 #3 вон там ошибка
SyavaLUX S SyavaLUX Регистрация 6 Ноя 2013 Сообщения 87 Репутация 0 Спасибо 0 Монет 0 16 Май 2024 #4 Переменная first_number не видна в функции num_generator, потому что она определена в предыдущей функции second_num. Чтобы исправить эту ошибку, нужно передать значение first_number в функцию num_generator в качестве аргумента.
Переменная first_number не видна в функции num_generator, потому что она определена в предыдущей функции second_num. Чтобы исправить эту ошибку, нужно передать значение first_number в функцию num_generator в качестве аргумента.
Tinkle T Tinkle Регистрация 18 Мар 2013 Сообщения 59 Репутация 1 Спасибо 0 Монет 0 16 Май 2024 #5 Очень легко просто на до переходить с питон на с ++