任何人都可以告诉我为什么我的else语句会出现无效的语法错误?

时间:2013-06-11 22:24:53

标签: python python-2.7

我正在尝试测试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

3 个答案:

答案 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在内部。