TypeError: unsupported operand type(s) for /: 'str' and 'str'
При попытке привести тип данных в числовые выскакивает ошибка. Данные берутся XML из http://www.cbr.ru/scripts/XML_daily.asp.
import requests
from lxml import etree
resp = etree.fromstring(requests.get("http://www.cbr.ru/scripts/XML_daily.asp").text.encode("1251"))
curs_1 = resp.find("Valute[@ID='R01135']/Value").text
curs_2 = resp.find("Valute[@ID='R01535']/Value").text
curs_3 = int(curs_2 / curs_1)
print(f"Одна норвежская крона равна {curs_2} {curs_1} Венгерских форинтов")
Вывод
Traceback (most recent call last):
File "C:\py\Skillfactory\Forint.py", line 9, in <module>
curs_3 = int(curs_2 / curs_1)
TypeError: unsupported operand type(s) for /: 'str' and 'str'
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
curs_3 = int(curs_2 / curs_1)
- Преобразовывать в числа нужно обе переменные по отдельности
- Преобразовывать нужно в числа с плавающей точкой, а не в целые числа
- Нужно поменять в строках знак
,на.перед преобразованием
curs_3 = float(curs_2.replace(',','.')) / float(curs_1.replace(',','.'))
print(curs_3)
# 3.3617511336142663