python - 带有 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 的粉丝,并且我自己已经多次问过这个问题。
解决方案
内联if
语句可以像这样链接:
"a" if 0 else "b" if 0 else "c"
(把0
s1
换成s看返回值变化)
推荐阅读
- javascript - Redux 容器不知道“this”是什么
- tsql - 使用 Case 和 DateDiff 更新语句
- java - 没有gradle的`gradle run`
- opentest - 如何在 OpenTest 中的 GET 上为 Basic Auth 提供正确的标头?
- python - 如何根据另一个数据框中的列填充数据框中的空值?
- c# - 在窗口上运行 Close() 然后重新打开它后,如何刷新列表框显示?
- javascript - 用颜色填充随机大小的矩形时如何制作边框?
- sql - Azure SQL 数据库 - 相同查询的响应时间截然不同
- oracle - 插入后增加新列
- bash - 使用 Git 仅更新自身的 Bash 脚本