python - 打印带有列表和括号的偶数
问题描述
当我出于某种原因运行以下代码时,它说中断不正确,但如果我删除中断则有效。
谁能帮我理解为什么?
composites = []
for i in range(101):
for j in range(i):
if (i % j) == 0:
composites.append(i)
break
print("Composites: ", *composites)
解决方案
提供的示例代码引发了一个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)
推荐阅读
- video - Youtube-DL - 如何为流式传输密钥 url 附加 URL 参数
- bash - 如何使用环境变量标记 docker 映像
- javascript - ReactJS,带有 axios 的 Swiper 滑块
- node.js - 多对多关联不返回关联表
- xpath - XPath - 查找属性的值,稍后用于验证数量 - 页面对象框架
- python - 从 HTML 按钮运行 python 脚本
- git - 删除了对密码身份验证的支持。请改用个人访问令牌
- python - 一遍又一遍地将相同的数据帧传递给 Python 中的不同类和函数
- python - Django在For循环中的过滤器中使用变量
- sql - 使用 distinct 和 max 获取唯一字符串的最大值