Val*_*dar 2 python primes generator
我无法弄清楚为什么输出结果如下:
> File "<pyshell#177>", line 6, in func
> list.append(next(PrimeGen))
> StopIteration
Run Code Online (Sandbox Code Playgroud)
当它在我的脑海中变得如此有意义!! 无论如何基本上我正在尝试使用ifprime函数和生成器来生成一个Prime Generator来收集列表中的素数.
这确定是否为prime并返回值,否则为空.
Run Code Online (Sandbox Code Playgroud)def prime(x): if (2**(x-1))%x ==1: return x
这使得生成器应该返回一个列满了素数的列表,最多为x但是却给出了上面的错误.我开始列表里面有一个2,因为上面的函数prime(x)不认为2作为素数(所以范围从3开始)
Run Code Online (Sandbox Code Playgroud)def func(x): count=0 list=[2] PrimeGen = (prime(X) for X in range(3,x+1)) while count<99: list.append(next(PrimeGen)) count+=1 print list
任何人都可以解释为什么它不起作用?先感谢您!V.
| 归档时间: |
|
| 查看次数: |
710 次 |
| 最近记录: |