Бот калькулятор систем счисления выводит пустой ответ. Не могу понять почему. Помогите, пожалуйста, исправить код
import telebot
from telebot import types
bot = telebot.TeleBot('###')
@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 send_text(message):
if message.chat.type == 'private':
if message.text == 'Калькулятор':
bot.send_message(message.chat.id, 'Введите число')
bot.register_next_step_handler(message, get_number)
def get_number(message):
try:
a = message.text
bot.send_message(message.chat.id, 'Введите основание системы счисления числа')
bot.register_next_step_handler(message, lalala, a)
except ValueError:
bot.send_message(message.chat.id, 'Пожалуйста, нажмите на кнопку "Калькулятор", чтобы заново начать операцию')
def lalala(message, a):
try:
b = int(message.text)
bot.send_message(message.chat.id, 'Введите основание системы счисления, в которое Вы хотите перевести число')
bot.register_next_step_handler(message, convert_number, a, b)
except ValueError:
bot.send_message(message.chat.id, 'Пожалуйста, нажмите на кнопку "Калькулятор", чтобы заново начать операцию')
def convert_number(message, a, b):
try:
s = ''
n = int(message.text)
if b != 10:
power = 1
ans = 0
for i in a[::-1]:
if i < 'A':
ans += int(i) * power
else:
ans += (ord(i) - ord('A') + 10) * power
power *= b
else:
s = ''
ans = int(a)
al = 'ABCDEF'
while ans > 0:
s = ''
c = ans % n
if c < 10:
s = str(c) + s
else:
s = al[c - 10] + s
ans //= n
bot.send_message(message.chat.id, f'Ответ: {s}')
except ValueError:
bot.send_message(message.chat.id, 'Пожалуйста, нажмите на кнопку "Калькулятор", чтобы заново начать операцию')
bot.polling(none_stop=True, interval=0)