如果。。python中的else
我用Python编写了一个程序来生成素数 这是节目单如果。。python中的else,python,syntax,Python,Syntax,我用Python编写了一个程序来生成素数 这是节目单 def genPrimes(n): primes = [2] # primes generated so far last = 3 # last number tried while last <= n: for p in primes: if last % p == 0 and math.sqrt(p) <= last:
def genPrimes(n):
primes = [2] # primes generated so far
last = 3 # last number tried
while last <= n:
for p in primes:
if last % p == 0 and math.sqrt(p) <= last:
break
else:
primes.append(last)
last += 2
return primes
def genPrimes(n):
素数=[2]#到目前为止生成的素数
最后一次=3#最后一次尝试
最后一个时,else
实际上附加到for
循环,如果程序没有脱离循环,则执行该循环。在您的例子中,如果没有一个素数被划分为该数字,那么它将执行,因此该数字是素数并被附加到列表中
另请参见。它没有被错误地放置,python假定您正在为else
循环使用
从:
当与循环一起使用时,else子句与
try语句的else子句,而不是if语句的else子句:a
try语句的else子句在没有异常发生时运行,并且
循环的else子句在未发生中断时运行
再次感谢。我不知道,直到这一点,我可以使用for循环的其他代码。代码显然没有正确缩进(阅读:完全没有缩进)。我试图修复它,因此它不再只是在您尝试加载文件或粘贴文本时引发异常,而是因为实际问题很可能与不正确的缩进有关,OP确实需要检查我是否正确。