Помогите с написанием бота
Помогите с написанием бота, пишу для школьного проекта бот-задачник по физике, необходимо что бы в функции zad(zadacha, не то о чем вы подумали) сохранялись переменные V и х, пока что я их сделал конкретными что бы проверить работу если переменные зафиксированны. необходимо что бы переменные сохранялись на 2 и более итерации функции.
import random
import telebot
from telebot import types
bot = telebot.TeleBot('не скажу')
zadachki_iopta=['тело брошенно горизонтально с некоторой высоты с начальной скоростью V м/с. Через какое время вектор скорости будет направлен под углом 45 градусов к горизонту?','Мальчик бросил горизонтально мяч из окна, находящегося на высоте' , ' м, Сколько времени летел мяч до земли и с какой скоростью он был брошен, если он упал на расстоянии ',' метров от основания дома?', 'Как изменится время и дальность полёта тела, брошенного горизонтально с некоторой высоты, если начальную скоростью увеличить в ',' раза ?']
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
item1= types.KeyboardButton('получить_задачу')
markup.add(item1 )
bot.send_message(message.chat.id, 'привет', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def zad(message):
if message.chat.type == 'private':
x = 1
V = 76
var = V
if message.text == 'получить_задачу':
if x == 1:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton(str(var/10))
item2 = types.KeyboardButton(str(var))
item3 = types.KeyboardButton(str(var/5))
item4 = types.KeyboardButton(str(var/2))
back = types.KeyboardButton('назад')
bot.send_message(message.chat.id, zadachki_iopta[x-1])
markup.add(item1, item4, item3, item2, back)
bot.send_message(message.chat.id,'V='+str(var)+' м/с',reply_markup=markup)
V=var
if x == 1 and message.text == str(V/10):
print('daun')
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton('получить_задачу')
markup.add(item1)
bot.send_message(message.chat.id, 'верно)',reply_markup=markup)
elif x == 1 and message.text == str(V):
bot.send_message(message.chat.id, 'неверно(')
elif x == 1 and message.text == str(V / 5):
bot.send_message(message.chat.id, 'неверно(')
elif x == 1 and message.text == str(V / 2):
bot.send_message(message.chat.id, 'неверно(')
elif message.text == 'назад':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton('получить_задачу')
markup.add(item1)
bot.send_message(message.chat.id, 'главное меню', reply_markup=markup)
V=var
print(message.text)
bot.polling(none_stop=True)
Источник: Stack Overflow на русском