@Daris23

Телеграм бот, нужно чтоб выводил результат решений обычных действий между двумя числами, как сделать?

код:import telebot
import config

bot = telebot.TeleBot(config.TOKEN)
@bot.message_handler(commands=['start'])
def start_message(message):
bot.send_message(message.chat.id, 'Привет.Что делаем? (+,-,*,/):')
@bot.message_handler(content_types=['text'])
def lalala(message):
if message.text == "+":
a = input ("Введите первое число: ")
b = input ("Введите второе число: ")
c=a + b
bot.send_message(message.chat.id,"Результат:" +c )
ошибка: File "bot.py", line 15
bot.send_message(message.chat.id,"Результат:" + c)
  • Вопрос задан
  • 581 просмотр
Пригласить эксперта
Ответы на вопрос 2
@anerev
input_text = '12 + 12'
bot.send_message(message.chat.id,"Результат:" + str(eval(input_text)))
Ответ написан
NeiroNx
@NeiroNx
Программист
SymPy он чуть чуть круче чем тупой eval
from sympy import *
from sympy.parsing.sympy_parser import standard_transformations,\
implicit_multiplication_application
transformations = (standard_transformations +(implicit_multiplication_application,))
#решает квадратное уравнение
print(solvers.solve(parsing.sympy_parser.parse_expr("x**2 -5x+4",\
transformations=transformations),'x'))
#упрощает выражение
print(simplify(parsing.sympy_parser.parse_expr("4+5-1")))

а его парсер считается безопаснее...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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