Ошибка ValueError: could not convert string to float: '77,59'

Как исправить? Ошибка возникает когда я хочу превратить элемент из списка в число.

@bot.message_handler(commands=['convert'])
def cmd_convert(message):
    response = requests.get('https://yandex.ru/')
    page = response.text
    soup = BeautifulSoup(page, 'html.parser')
    currency = []
    for figures in soup.select('span.inline-stocks__value_inner'):
        currency.append(figures.text)
    try:
        class Converter:
            def __init__(self):
                self.usd = currency[0]
                self.eur = currency[1]
                self.rub = sum

            def dollar(self):
                return int(self.rub) / int(float(self.usd))

            def euro(self):
                return int(self.rub) / int(float(self.eur))

        def extract_arg(arg):
            return arg.split()[1:]

        answer = extract_arg(message.text)
        sum = int(answer[0])
        converter = Converter()
        sum1 = round(converter.dollar(), 2)
        sum2 = round(converter.euro(), 2)
        bot.send_message(message.chat.id, f'USD: {sum1}\nEUR: {sum2}')
    except IndexError:
        bot.send_message(message.chat.id, 'Введите сумму после команды')

Ответы (2 шт):

Автор решения: CrazyElf

Ну, можно заменить , на . и будет работать. Так вот работает:

float('77,59'.replace(',','.'))

Ну, то есть у вас будет видимо:

int(float(self.usd.replace(',','.')))
→ Ссылка
Автор решения: Victor VosMottor

Надо заменить , на . т.к. питон использует . для float:

@bot.message_handler(commands=['convert'])
def cmd_convert(message):
    response = requests.get('https://yandex.ru/')
    page = response.text
    soup = BeautifulSoup(page, 'html.parser')
    currency = []
    for figures in soup.select('span.inline-stocks__value_inner'):
        currency.append(figures.text)
    try:
        class Converter:
            def __init__(self):
                self.usd = currency[0]
                self.eur = currency[1]
                self.rub = sum

            def dollar(self):
                return int(self.rub) / int(float(self.usd.replace(',', '.')))

            def euro(self):
                return int(self.rub) / int(float(self.eur.replace(',', '.')))

        def extract_arg(arg):
            return arg.split()[1:]

        answer = extract_arg(message.text)
        sum = int(answer[0])
        converter = Converter()
        sum1 = round(converter.dollar(), 2)
        sum2 = round(converter.euro(), 2)
        bot.send_message(message.chat.id, f'USD: {sum1}\nEUR: {sum2}')
    except IndexError:
        bot.send_message(message.chat.id, 'Введите сумму после команды')
→ Ссылка