条件语句中的Indentationt错误

2024-05-23 21:35:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我对以下代码有问题:

def enum2(q,k):
    n = q.length
    if k == n:
        #asdasdsa
    else:
        for i in range(0,n):
            q[k] = i
            if (isSafe(q,k)):
                enum2(q,k+1)

    else:
   ^
IndentationError: expected an indented block

Python编译器抱怨else语句中的缩进,但我不知道为什么。你知道吗

我已经找了空格,但除了制表符没有找到。你知道吗


Tags: 代码inanforifdefrangelength
1条回答
网友
1楼 · 发布于 2024-05-23 21:35:48

问题出现在第一个if语句(第3行)中;后面什么都没有。同样的事情也发生在else(第12行)的末尾,因为它前面也没有if语句。你知道吗

您的代码应如下所示:

def enum2(q,k):
    n = q.length
    if k == n:
        pass
    else:
        for i in range(0,n):
            q[k] = i
            if (isSafe(q,k)):
                enum2(q,k+1)
    if ... something:
      pass
    else:
      pass

除非你的第二个else是循环的一部分。在这种情况下,您的代码应该是:

def enum2(q,k):
    n = q.length
    if k == n:
        pass
    else:
        for i in range(0,n):
            q[k] = i
            if (isSafe(q,k)):
                enum2(q,k+1)
            else:
              pass

注意,我使用pass作为占位符,直到您实际插入一些代码。你知道吗

相关问题 更多 >