[英]Check if all the elements in that list are divisible by some given integer or not
[英]find if integer i is divisible by all elements in a list
正如标题所述,我想找出整数i
是否可以被列表中的所有元素整除。
我有这个:
db = [3, 4, 5, 6, 7, 8]
i = 1
if all(i % d != 0 for d in db):
i += 1
我尝试将if
循环与all()
,但即使满足条件,它也只是跳过了该部分(我认为)。 它应该只是添加到整数i
直到它可以被 3、4、5、6、7 和 8 整除。
任何提示或我做错了什么?
谢谢,本
你检查了相反的:
如果db
每个元素都成立,则不会除以i
。
您需要切换if
逻辑的分支:
if all(i % d == 0 for d in db):
print(i, "is divisible by all elements of the list")
else:
i += 1
交替:
if any(i % d != 0 for d in db):
i += 1
else:
print(...)
请注意,这似乎是在寻找可被db
的每个整数整除的最小整数。 通过更直接地查找列表的 LCM(最小公倍数),您可以更快地完成此操作。 将其放入浏览器的搜索栏中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.