Как сравнить два числа

Почему-то не сравнивает два числа - b = 23.0 и полученное с сайта a =my_float.

Выдает:

Цикл окончен, my_float = 27.0

Ошибок в коде 0. В чем мб проблема?

driver.get("https:")
sleep(100)

b = 23.0
convert = driver.find_element("xpath",
                                    "/html/body/div[2]")
match = re.findall(r"(\d+)\s", convert.text)
my_float = float(match[0])
a =my_float

while a < b:
    driver.get("https://google.com")
else:
    print('Цикл окончен,  my_float =',  my_float)

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

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

Все отрабатывает корректно. Для выполнения инструкций внутри while необходимо, чтобы условие было true. У вас условие 27<23, что преобразуется в false. Из-за этого инструкции внутри цикла не выполняются ни разу.

Дополнено:

Возможно, вам подойдет не конструкция "while a < b:", а "if a < b:". Т.к. даже, если внутрь цикла вы попадете - программа из него не выйдет без конструкций типа "break"

Полагаю, код, который вам нужен должен выглядеть примерно так:

while True:
    driver.get("https:")
    sleep(100)
    b = 23.0
    convert = driver.find_element("xpath",
                                "/html/body/div[2]")
    match = re.findall(r"(\d+)\s", convert.text)
    my_float = float(match[0])
    a = my_float
    if a < b:
        driver.get("https://google.com")
    else:
        print('Цикл окончен,  my_float =',  my_float)
→ Ссылка