【发布时间】:2018-10-04 12:20:20
【问题描述】:
我正在尝试创建一个 for 循环,该循环将打印从 0 到 100 的所有可被 7 整除的数字以及包含 7 的数字,如下例所示: 7 14 17 21 27 28 等等
我尝试过这样做:
for i in range(101):
if i%7==0 or i==range(7,98,10):
print(i)
但它会打印:
7 14 21等
我该怎么办?
【问题讨论】:
-
0 可以被 7 整除。输出是否应该包含 0?
-
旁注:执行此操作的简单方法是使用
set操作,因此您甚至不会生成不匹配的值。在 3.5+ 上使用 additional unpacking generalizations 你可以这样做:for i in sorted({*range(0, 101, 7), *range(7, 101, 10), *range(70, 80)}): print(i)。在 3.5 之前,您可以稍微慢一点:for i in sorted(set().union(range(0, 101, 7), range(7, 101, 10), range(70, 80))): print(i)未发布为答案,因为它更多的是与您的提示一起玩而不是解决您的实际问题(并且因为它不是很普遍)。跨度>
标签: python python-3.x for-loop