import telebot
# Создание бота
bot = telebot.TeleBot('')
# Обработчик команды /start
@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message,
"Привет! Я бот для расчета значений Dmax, Dmin, dmax1, dmin1, TD, Td1, Smax, Smin, Nmax и Nmin. Пожалуйста, введите значение D:")
# Обработчик текстового сообщения для значения D
@bot.message_handler(func=lambda message: True)
def get_d(message):
try:
# Парсинг ввода пользователя
D = float(message.text)
bot.reply_to(message, "Теперь введите значение ES:")
bot.register_next_step_handler(message, get_es, D)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для D")
# Обработчик текстового сообщения для значения ES
def get_es(message, D):
try:
ES = float(message.text)
bot.reply_to(message, "Теперь введите значение EI:")
bot.register_next_step_handler(message, get_ei, D, ES)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для ES")
# Обработчик текстового сообщения для значения EI
def get_ei(message, D, ES):
try:
EI = float(message.text)
bot.reply_to(message, "Теперь введите значение es1:")
bot.register_next_step_handler(message, get_es1, D, ES, EI)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для EI")
# Обработчик текстового сообщения для значения es1
def get_es1(message, D, ES, EI):
try:
es1 = float(message.text)
bot.reply_to(message, "Теперь введите значение ei1:")
bot.register_next_step_handler(message, get_ei1, D, ES, EI, es1)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для es1")
# Обработчик текстового сообщения для значения ei1 и расчета значений
def get_ei1(message, D, ES, EI, es1):
try:
ei1 = float(message.text)
# Выполнение расчетов
Dmax = round(D + ES, 3)
Dmin = round(D + EI, 3)
TD = round(Dmax - Dmin, 3)
dmax1 = round(D + es1, 3)
dmin1 = round(D + ei1, 3)
Td1 = round(dmax1 - dmin1, 3)
Smax = round(Dmax - dmin1, 3)
Smin = round(Dmin - dmax1, 3)
Nmax = round(dmax1 - Dmin, 3)
Nmin = round(dmin1 - Dmax, 3)
# Отправка результатов пользователю
reply_message = f"Dmax = {Dmax}\nDmin = {Dmin}\nTD = {TD}\ndmax1 = {dmax1}\ndmin1 = {dmin1}\nTd1 = {Td1}\nSmax = {Smax}\nSmin = {Smin}\nNmax = {Nmax}\nNmin = {Nmin}"
bot.reply_to(message, reply_message)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для ei1")
# Обработчик текстового сообщения для значения D
@bot.message_handler(func=lambda message: True)
def get_d(message):
try:
# Парсинг ввода пользователя
D = float(message.text)
bot.reply_to(message, "Теперь введите значение ES:")
bot.register_next_step_handler(message, get_es, D)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для D")
# Обработчик текстового сообщения для значения ES
def get_es(message, D):
try:
ES = float(message.text)
bot.reply_to(message, "Теперь введите значение EI:")
bot.register_next_step_handler(message, get_ei, D, ES)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для ES")
# Обработчик текстового сообщения для значения EI
def get_ei(message, D, ES):
try:
EI = float(message.text)
bot.reply_to(message, "Теперь введите значение es1:")
bot.register_next_step_handler(message, get_es1, D, ES, EI)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для EI")
# Обработчик текстового сообщения для значения es1
def get_es1(message, D, ES, EI):
try:
es1 = float(message.text)
bot.reply_to(message, "Теперь введите значение ei1:")
bot.register_next_step_handler(message, get_ei1, D, ES, EI, es1)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для es1")
# Обработчик текстового сообщения для значения ei1 и расчета значений
def get_ei1(message, D, ES, EI, es1):
try:
ei1 = float(message.text)
# Выполнение расчетов
Dmax = round(D + ES, 3)
Dmin = round(D + EI, 3)
TD = round(Dmax - Dmin, 3)
dmax1 = round(D + es1, 3)
dmin1 = round(D + ei1, 3)
Td1 = round(dmax1 - dmin1, 3)
Smax = round(Dmax - dmin1, 3)
Smin = round(Dmin - dmax1, 3)
Nmax = round(dmax1 - Dmin, 3)
Nmin = round(dmin1 - Dmax, 3)
# Отправка результатов пользователю
reply_message = f"Dmax = {Dmax}\nDmin = {Dmin}\nTD = {TD}\ndmax1 = {dmax1}\ndmin1 = {dmin1}\nTd1 = {Td1}\nSmax = {Smax}\nSmin = {Smin}\nNmax = {Nmax}\nNmin = {Nmin}"
bot.reply_to(message, reply_message)
except ValueError:
bot.reply_to(message, "Пожалуйста, введите корректное число для ei1")
# Запуск бота
bot.polling()
Как мне сделать чтобы в значениях ES es1 EI ei1 можно было написать не нормируется и в расчётах выводилось значение dmax не нормируется и так далее смотря, какое значение не нормируется