<pre><code>def step(g, m, n):
notstorage=[]
actualvalues =[]
for i in range(m, (n+1)):
for primechecker in range(2,i):
if i % primechecker == 0:
notstorage.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(i)
for value in range(m, (n+1)):
if (value) and (value+g) not in set(notstorage):
actualvalues.append(value)
actualvalues.append(value+g)
break
return(actualvalues)
</code></pre>
<p>在上面的代码中,我试图找出哪些数字是素数,并创建一个列表来检查是否有两个素数被某个数(g)隔开。我有问题是因为由于某种原因303被返回为质数,而它显然不是因为它可以被3整除。。。。我不知道为什么代码不能正常工作?在</p>
<p>当我输入:</p>
^{pr2}$
<p>我期望的输出是(307311),因为这是相隔4个数字的前2个质数,但是我得到的是(303307)</p>
<p>不知道我做错了什么?在</p>