我正在尝试测试2到100之间的素数,但是我的代码出错了,我不知道为什么。 (我是python的新手)
def function():
mylist = [1,2]
count = 0
for i in range(2,100):
for j in range(2,i):
if i % j == 0:
count += 1
if count > 0:
count += 0
else:
mylist.append(i)
count = 0
return mylist
答案 0 :(得分:5)
看起来像是缩进问题,试试这个:
if count > 0:
count += 0
else:
mylist.append(i)
在Python中,代码正确缩进非常非常重要。您看,else
关键字 与if
关键字显示的级别相同。使用好的IDE或文本编辑器来帮助您发现这种错误!
答案 1 :(得分:2)
Python表示具有空格的代码块与某些语言使用大括号的方式相同。您的内部代码块在带有大括号的语言中看起来像这样,这可能会更容易查看语法错误的位置:
if (count > 0) {
count += 0;
else {
mylist.append(0);
}
}
答案 2 :(得分:1)
否则,应该在if语句的同一行缩进。否则,如果条件,则认为else在内部。