@NO1nam

Как калькулировать и дать ответ?

import telebot
from telebot import types

bot = telebot.TeleBot('')

user_num1 = ''
user_num2 = '9'
user_proc = '*'
user_result = None

def process_num1_step(message, user_result = None):
    try:
       global user_num1

       if user_result == None:
          user_num1 = int(message.text)
       else:
          user_num1 = str(user_result)
    except Exception as e:
       bot.reply_to(message, 'Это не число или что то пошло не так...')
       
@bot.message_handler(func=lambda message: '10' in message.text.lower(), content_types=['text'])
def lalala(message):
    bot.send_message(message.chat.id, calcResultPrint())
    
def calcResultPrint():
    global user_num1, user_num2, user_proc, user_result
    return "Результат: " + str(user_num1) + ' ' + user_proc + ' ' + str(user_num2) + ' = ' + str( user_result )

def calc():
    global user_num1, user_num2, user_proc, user_result
    user_result = eval(str(user_num1) + user_proc + str(user_num2))
    return user_result

bot.polling()

Как сделать так что бы когда человек писал любое число боту что бы он в ответ дал ответ умноженный на 9
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
shabelski89
@shabelski89
engineer
Что-то непонятное
import telebot  


token= ""

bot = telebot.TeleBot(token)
const = 9


def multiply(num):
    return num * const


@bot.message_handler(func=lambda m: True)
def catch_all(message):
    if message.text.isdigit():
        bot.send_message(message.chat.id, multiply(int(message.text)))


if __name__ == "__main__":
    try:
        bot.polling(none_stop=True)  
    except Exception as Error:       
        print(Error)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Весь ваш код можно сжать до 12 строк с нормальными отступами, и при этом он будет работать, у вас же 35 нерабочих. Учите основы Python, без них вы ичего не сделаете
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы