首页 > 解决方案 > 带有 3 个 if 语句的单行返回

问题描述

我在 Python 中有以下代码:

def show_sequence(n):
    if n > 0:
        return "+".join((str(i) for i in range(n+1))) + " = %d" %(sum(range(n+1)))
    elif n == 0:
        return "0=0"
    else:
        return str(n) + "<0"

问题:如果有 3 个 if 语句,是否有将所有行放入一个 return 语句的语法正确方法?我知道它适用于一个 if-& else-statement,但我是 one-liner 的粉丝,并且我自己已经多次问过这个问题。

标签: python

解决方案


内联if语句可以像这样链接:

"a" if 0 else "b" if 0 else "c"

(把0s1换成s看返回值变化)


推荐阅读