执行我的代码时出现Python IndentationError

时间:2014-06-27 14:40:25

标签: python

我只是在学习python。我试图写一个像这样的简单代码。

def isPrime(n):
    a=0
    if n==1:
        print("1 is special")
    for x in range(1,n):
        if n%x==0:
        a=a+1   
    if a==2:
        print("{} is prime".format(n))
    else:
        print("{} is not prime".format(n))
for n in range(2,20):
    isPrime(n)

然后我在第7行收到一条错误,指出“IndentationError:预期有一个缩进的块”。实际上错误是什么?有人可以帮忙吗?对不起,如果那是愚蠢的。我是python的新手。

2 个答案:

答案 0 :(得分:1)

您的错误在于第二个if语句:

def isPrime(n):
    a=0
    if n==1:
        print("n is special")
    for x in range(1,n):
        if n%x==0:
            a=a+1                #this line should be indented as it currently is
            #can also be written as: a+=1
    if a==2:
        print("{} is prime".format(n))
    else:
        print("{} is not prime".format(n))

for n in range(2,20):
    isPrime(n)

答案 1 :(得分:1)

if n%x==0:
a=a+1 <-- needs to be indented

错误是文字的,当你看到它时,查看你的循环,if语句和函数,看看进行它的行是否缩进。