间距不正确?我看不见什么

2024-04-20 14:31:40 发布

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

因此,我编写了一个函数,允许我在程序的其余部分读取表中的某些元素,然而,当我运行它时,python IDLE在elif currentState == True:行上说“缩进中制表符和空格的使用不一致”。我在哪里打错了标签?你知道吗

def irOn(irRecv, irData):
    if irRecv == True:
        appLabel, irFrq, currentState = irTable[irData]
        if currentState == False:
                        global newState
                        newState = True
                elif currentState == True:
                        newState = False

        print("New ", appLabel, " status ", newState, " via ", irFrq)
        global recvData
        recvData = False

Tags: 函数程序falsetrue元素ifglobalelif
3条回答

根据您的错误消息,我假设您正在使用PyCharm IDE或任何类似的工具。 要避免类似的问题,请使用auto-intendation选项,如果找不到错误,请重新格式化代码:选择代码,单击菜单中的code,然后Reformat code...

def irOn(irRecv, irData):
    if irRecv == True:
        appLabel, irFrq, currentState = irTable[irData]
        if currentState == False:
            global newState
            newState = True
        elif currentState == True:
           newState = False

        print("New ", appLabel, " status ", newState, " via ", irFrq)
        global recvData
        recvData = False

elif的缩进需要与if的缩进匹配。你知道吗

试试这个:

def irOn(irRecv, irData):
    if irRecv == True:
        appLabel, irFrq, currentState = irTable[irData]
        if currentState == False:
            global newState
            newState = True
        elif currentState == True:
            newState = False

        print("New ", appLabel, " status ", newState, " via ", irFrq)
        global recvData
        recvData = False

elif的位置不正确,应该与if的缩进相同。你知道吗

python中的缩进不必按制表符对齐,而是按彼此的相对位置对齐。为了澄清更多的困惑,http://www.secnetix.de/olli/Python/block_indentation.hawk

相关问题 更多 >