原因不明的python缩进错误

时间:2012-12-11 19:43:35

标签: python python-2.7

我正在用python编写作业。我写了几个函数,一切都很棒。我试图添加第三个函数,python给我的消息“预期缩进块”。我知道混合标签和空格有问题。我试过它们两个并没有什么区别。尝试更改标签间距,在不同的PC上重写整个代码。我无能为力......可能是什么问题?

def xor_bytes(byte1, byte2):
    xor = ""
    for i in range(len(byte1)):
        if byte1[i] == byte2[i]:
            xor = xor + "0"
        else:
            xor = xor + "1"
    return xor

def verify_checksum(datagram):
    checksum = '00000000'
    total = False
    for i in range((len(datagram)/8)-1):
        checksum = xor_bytes(checksum,datagram[8*(i):8*(i+1)])
        if checksum == datagram[len(datagram)-8 : len(datagram)]:
            total = True
    return total
def check_datagram(datagram,src_comp,dst_app):

2 个答案:

答案 0 :(得分:1)

您可能仍然混合制表符和空格,不要这样做。

运行python -tt yourscript.py以检测 缩进变得不一致的地方。将编辑器调整为仅使用空格(将制表符展开到空格,使用空格进行缩进等)。

请注意,您确实需要为新功能指定 body ,否则您将收到同样的错误:

>>> def foo(bar):
... 
  File "<stdin>", line 2

    ^
IndentationError: expected an indented block

答案 1 :(得分:0)

你的例子中最后一行之后有什么东西吗?

def check_datagram(datagram,src_comp,dst_app):

如果不是:Python要求代码块不是“空”。我会改为:

def check_datagram(datagram,src_comp,dst_app):
    pass