Вопрос Почему код не робит питон

Регистрация
28 Июл 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
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?
 
нужно объявить переменные first_number и second_number как глобальные, чтобы они были доступны в разных функциях.
 
вон там ошибка
 
Переменная first_number не видна в функции num_generator, потому что она определена в предыдущей функции second_num.
Чтобы исправить эту ошибку, нужно передать значение first_number в функцию num_generator в качестве аргумента.
 
Очень легко просто на до переходить с питон на с ++
 
Назад
Сверху