Как избавиться от ошибки?
Создайте функцию – контекст менеджер, которая будет получать на вход ID валюты и возвращать информацию о ней в виде:
(1 шт.) Австралийский доллар стоит(ят) 49,2779 руб.
Если такой валюты нет – ошибка должна обрабатываться и выводиться, что такая валюта не найдена.
Для получения курса валют воспользуйтесь API центробанка:
http://www.cbr.ru/scripts/XML_daily.asp
import requests
from bs4 import BeautifulSoup
from datetime import datetime
url = "http://www.cbr.ru/scripts/XML_daily.asp?"
today = datetime.today()
today = today.strftime("%d/%m/%Y")
payload = {"date_req": today}
response = requests.get(url, params=payload)
xml = BeautifulSoup(response.content, 'lxml')
currency = input('Введите код валюты: ')
def get_course(currency):
return xml.find("valute", {'id': currency}).value.text
with get_course(currency) as currency:
print(currency)
Источник: Stack Overflow на русском