如果语句SyntaxError:语法无效

Neg*_*cki -2 python

我想计算中位数我不知道这里有什么问题更新:

def median(a,b,c):
    if a>b:
        if b>c:
        return b
        else:
        if a>c:
            return c
        else:
            return a
    else:
        if b<c:
            return b
        else:
        if a>c:
            return a
        else: 
            return c
Run Code Online (Sandbox Code Playgroud)

我的错误是:文件"prog.py",第4行返回b ^ IndentationError:预期缩进块

NPE*_*NPE 6

你的缩进是错的.每个else:必须与其对应的对齐if ...:,并且每个嵌套块必须缩进.

例如,

        if a>c:
            return c
                else:
                    return a
Run Code Online (Sandbox Code Playgroud)

应该读

        if a>c:
            return c
        else:
            return a
Run Code Online (Sandbox Code Playgroud)

未正确缩进的代码不是有效的Python.

PS整个功能可以重写如下:

def median(a, b, c):
    return sorted((a, b, c))[1]
Run Code Online (Sandbox Code Playgroud)