я в начале кода создал 3 переменые, как их можно вызвать в функциях

Рейтинг: -2Ответов: 1Опубликовано: 29.04.2023

я делаю телеграм бота в начале кода я создал 3 переменые как я могу их вызвать в функциях?

import telebot
bot = telebot.TeleBot(токен)
counter = 0
const = 500
const_number = 500

@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, 'Привет, введи число до 1000')
@bot.message_handler(content_types=['text'])
def game(message):
    number = int(message.text)
    while True:
        const_number = const_number // 2
        if const == number:
            bot.send_message(message.chat.id, f'Ваше число {const} я угадал число за {counter} попыток')
            break
        else:
            bot.send_message(message.chat.id, f'Ваше число больше {const} ?')
            @bot.message_handler(content_types=['да'])
            def true(message1):


bot.polling(none_stop=True)

Ответы

▲ 1Принят

как я могу их вызвать в функциях?

Никак. Вызывают функции. Переменные используют.

Использовать любую переменную можно в её области видимости. Если переменная определена в самом начале программы, вне любого блока, то её можно использовать в любом месте программы, так как она видна везде. Если она не переопределена внутри какого-то блока.

Однако, в Python использование такой глобальной переменной внутри любого блока (например - функции) разделяется на два типа:

  1. Чтение значения переменной
  2. Присвоение нового значения переменной.

Для первого пункта ничего делать не нужно. Если же вы внутри блока собираетесь менять значение глобальной переменной, то Вы должны явно сказать об этом интерпретатору питона оператором global. Например, в Вашем случае, это должно выглядеть так:

def game(message):
    global const_number
    . . .
    const_number = const_number + 1