【发布时间】:2020-08-13 08:16:15
【问题描述】:
当我将 else 与 if 放在同一级别时,当我调用我的函数时程序无法运行。 (jupyter notebook 中的小星星)。但是当我将“else”拉到后面一级时,一切都很好。该函数旨在返回存在直到并包括给定数字的素数的数量。这是我的代码:
def count_primes(num):
primes = list(range (3,num,2))
digit = 3
if num < 2:
return 0
while digit <= num:
for x in range (3, digit, 2):
if digit % x == 0:
primes.remove(digit)
digit += 2
break
else:
digit += 2
primes.insert(0,2)
print (primes)
return len(primes)
【问题讨论】:
-
修复上述代码中的缩进
-
else适用于for,而不是if -
答案是“因为那是错误的”。
-
我编辑并修复了缩进。 @Sociopath
标签: python jupyter-notebook jupyter