я в начале кода создал 3 переменые, как их можно вызвать в функциях
я делаю телеграм бота в начале кода я создал 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 использование такой глобальной переменной внутри любого блока (например - функции) разделяется на два типа:
- Чтение значения переменной
- Присвоение нового значения переменной.
Для первого пункта ничего делать не нужно. Если же вы внутри блока собираетесь менять значение глобальной переменной, то Вы должны явно сказать об этом интерпретатору питона оператором global. Например, в Вашем случае, это должно выглядеть так:
def game(message):
global const_number
. . .
const_number = const_number + 1