Вместо того чтобы вывести число умноженное на курс доллара выводит текст сообщения умноженный на курс доллара(75 раз перевести доллары)
делаю телеграм бота для перевода некоторого количества валюты в рубли ранее все переменные были объявлены, а курс доллара получен, как сделать чтобы вместо вывода фразы перевести доллары умноженную на курс доллара, умножалось число которое я введу после фразы?
if message.text == "перевести доллары":
bot.send_message(message.from_user.id, "Введи сколько")
user_chis = message.text
dlar = dollar[0].text
dlar = int(float(dlar.replace(",", ".")))
perev = dlar * user_chis
bot.send_message(message.from_user.id, perev)
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Работа с типами данных. Если у вас повторяется строка столько раз сколько стоит множитель значит вы умножаете строку на число.
Непонятно здесь:
dlar = int(float(dlar.replace(",", ".")))
Вам нужен int или float
dlar = float(dlar.replace(",", "."))
И далее user_chis переменная должна быть числом, например целым:
user_chis = int(message.text) # как это будет работать зависит от данных, которые сюда прилетают в message.text
Теперь должно сработать и это:
perev = dlar * user_chis