所以我写了一个函数,允许我为程序的其余部分读取表的某些元素,但是,当我运行它时,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
试试这个:
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
根据您的错误消息,我假设您正在使用PyCharm IDE或任何类似的东西。为避免此类问题,请使用自动意图选项,如果找不到错误,请重新格式化代码:选择代码,单击菜单中的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
需要与 if 的缩进匹配。