使用命令:
AnyNumber = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
for list_AnyNumber in AnyNumber:
print(int(list_AnyNumber.text))
我得到 10 个数字(例如 10、20、30 等)。如何检查每个下一个元素是否大于前一个?
使用命令:
AnyNumber = driver.find_elements_by_xpath('//*[starts-with(@id, "popover-")]')
for list_AnyNumber in AnyNumber:
print(int(list_AnyNumber.text))
我得到 10 个数字(例如 10、20、30 等)。如何检查每个下一个元素是否大于前一个?
我在另一个论坛上找到了解决方案
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 = 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()
取长度计数并使用 for 循环和 if 条件。希望有帮助。
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))
最简单的方法是对列表进行排序,然后与原始列表进行比较。如果数字按预期增加,它们应该匹配。
您需要做的第一件事是将字符串列表转换为 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))
这是一种有趣的方法。假设您的列表名为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=['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))
基于此用户的回答