相关疑难解决方法(0)

使用列表推导生成素数列表

我正在尝试创建所有小于或等于给定数字的质数的列表。我使用for循环成功做到了这一点。我试图使用python使用列表理解来实现相同的目的。但是我的输出有一些意外的值。

这是我的代码。

pr=[2]
pr+=[i for i in xrange(3,num+1) if not [x for x in pr if i%x==0]]
Run Code Online (Sandbox Code Playgroud)

num我从用户那里输入的号码在哪里?

上面代码的输出为

num=20 is this:  [2, 3, 5, 7, 9, 11, 13, 15, 17, 19]
Run Code Online (Sandbox Code Playgroud)

我对为什么输出中有9和15感到困惑。我在这里做错了什么?

python

1
推荐指数
1
解决办法
2323
查看次数

标签 统计

python ×1