@rica2000

Кто может подсказать насчёт кода для бота?

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 не нормируется и так далее смотря, какое значение не нормируется
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы