AnyNumber = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
for index, list_AnyNumber in enumerate(AnyNumber):
if index > 0:
print(int(AnyNumber[index].text) > int(AnyNumber[index-1],text))
Или вы можете изменить цикл foreach
на for in range()
Вот один интересный подход. Скажите, что ваш список называется any_number_list
. Затем Вы можете использовать следующий синтаксис:
sequence = [y - x for x, y in zip(any_number_list[:-1], any_number_list[1:]) if y - x < 0]
if not sequence:
print("Each element is greater than the previous one")
Вы упаковываете два массива, используя zip
, и перебираете их, добавляя разницу к новому массиву с именем sequence
, если разница меньше 0. Если в конце этот массив содержит любое число, то это не монотонно не падающая последовательность.
Я нашел решение, которое появилось на другом форуме.
AnyNumber = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
buffer = 0
for AnyNumbers in AnyNumber:
if int(AnyNumbers) > buffer:
print('more than')
elif int(AnyNumbers) < buffer:
print('less than')
else:
print('is')
buffer = int(AnyNumbers)
AnyNumber=['14','22','33', '41', '55']
x=len(AnyNumber)
for index, list_AnyNumber in enumerate(AnyNumber):
if index < (x-1):
if int(AnyNumber[index + 1]) > int(AnyNumber[index]):
print(str(AnyNumber[index + 1]) + ">" + str(list_AnyNumber))
Основано на это пользователи ответили
Самый простой способ - отсортировать список, а затем сравнить с исходным списком. Они должны совпадать, если числа увеличиваются, как и ожидалось.
Первое, что вам нужно сделать, это преобразовать список строк в список int, затем отсортировать, а затем сравнить.
Простой пример,
list = ['10', '20', '30', '40', '50']
int_list = [int(i) for i in list]
print(int_list == sorted(int_list))
Это напечатает True
, потому что исходный список отсортирован.
Чтобы увидеть неудачный случай,
list = ['50', '20', '30', '10', '40']
int_list = [int(i) for i in list]
print(int_list == sorted(int_list))
Ваш код будет выглядеть примерно как
list = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
int_list = [int(i.text) for i in list]
print(int_list == sorted(int_list))
Возьмите подсчет длины и используйте для цикла и, если условия. Надеюсь, это поможет
AnyNumber = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
ncount=len(AnyNumber)
for l in range(ncount-1):
if int(AnyNumber[l+1].text) > int(AnyNumber[l].text):
print(int(AnyNumber[l+1].text))