gpt4 book ai didi

python - For-Else 循环在另一个 For 循环中

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:56 24 4
gpt4 key购买 nike

我对另一个 for 循环中的 for-else 循环有一些疑问。所以这是一个例子:

primelist = []
for p in range (2, x+1):
print 'in first for'
raw_input()
for i in range(2, p):
print 'in second for'
if p%i == 0:
print 'in if'
raw_input()
break
else:
print 'in else'
raw_input()
primelist = primelist + [p]
return primelist

如您所见,这是为了确定质数并将它们存储到一个列表中,以便以后可以检索它们。所以我的问题是第一个 for 循环。当我运行程序时,它会这样输入:First FOR loop, ELSE, First FOR loop, Second FOR loop等等。为什么它第一次跳到 ELSE?另外,如果我要求第 1000 个数字,我会得到:7919 和

for i in range(2, p)

和 7907 一起

for i in range(2, p/2).

这是为什么呢?希望你能帮我解决这个问题,但请不要给出其他实现素数算法的方法!

最佳答案

Python 的 range 不包括结束值。

range[start, end)

因此,在第一次迭代中,p 的值为 2,而 range(2, 2) 是一个空列表。这就是输入 else 部分的原因。

print range(2, 2)  # []

关于python - For-Else 循环在另一个 For 循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com