如何检查列表中每个项目的模除结果,以及检查每个数字是否满足一个条件

2024-09-30 00:36:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我意识到我的问题标题可能有点混乱,所以我会给出上下文。我有一个代码,它首先生成一个随机数,然后基于这个随机数创建一个列表,范围是(随机数,随机数+15)。你知道吗

我想做的是创建一个if语句,如果该范围内的每一项都不能被输入的数字除,那么它将返回True,然后执行应该发生的任何事情。(我使用的是python3)

例如,如果我的列表是[8, 9, 10, 11, 12],输入的数字是5,那么它应该检查中的每个数字是否都有0的余数(在这种情况下,列表将不满足10 % 5 == 0的条件)。因为这里不是这种情况,所以代码将查找else语句。你知道吗

我有一些想法,但都不管用。我会把我记得的那两个列出来。你知道吗

if all(x % distance == 0 for x in jagX):

以及

if (all(jagX) % distance == 0):

出于某种原因,这些总是返回一个true,即使我故意使用的输入每次都会导致这些if语句为false(我会将距离设为2作为测试,看它是否能识别语句何时为false)


Tags: 代码falsetrue标题列表if情况数字
1条回答
网友
1楼 · 发布于 2024-09-30 00:36:37

如果将any()与生成器表达式一起使用,则可以按如下方式构建:

代码:

def test_zero_modulo_in_list(list_to_test, modulo):
    return not any(i % modulo == 0 for i in list_to_test)

测试代码:

a_list = [8, 9, 10, 11, 12]

print(test_zero_modulo_in_list(a_list, 5))
print(test_zero_modulo_in_list(a_list, 13))

结果:

False
True

相关问题 更多 >

    热门问题