首页 > 解决方案 > 打印带有列表和括号的偶数

问题描述

当我出于某种原因运行以下代码时,它说中断不正确,但如果我删除中断则有效。

谁能帮我理解为什么?

composites = []
for i in range(101):
    for j in range(i):
        if (i % j) == 0:
            composites.append(i)
            break
print("Composites: ", *composites)

标签: pythonpython-3.xfor-loop

解决方案


提供的示例代码引发了一个ZeroDivisionError而不是中断错误。问题在于第二个范围,因为模函数不能用 0 完成。

由于复合数是非素数,因此因子检查应从 2 开始。将第二个范围函数更改为range(2, i)应该可以解决此问题。

composites = []
for i in range(101):
    for j in range(2, i):
        if (i % j) == 0:
            composites.append(i)
            break
print("Composites: ", *composites)

推荐阅读