python-if语句返回一行
作者:互联网
这个问题已经在这里有了答案: > Is it possible to write single line return statement with if statement? 4个
我知道“单行如果语句”问题已经被问过多次了,但是我无法弄清楚我的代码出了什么问题.我想转换
def has_no_e(word):
if 'e' not in word:
return True
像这样的一行功能:
def hasNoE(word):
return True if 'e' not in word
但是如果这样做我会收到语法错误-为什么?
解决方法:
我认为是因为您未指定else部分.您应该将其编写为:
return True if 'e' not in word else None
这是因为Python将其视为:
return <expr>
并且您将三元条件运算符指定为< expr>语法如下:
<expr1> if <condition> else <expr2>
因此,Python正在寻找您的其他部分.
返回假?
也许您想在测试失败的情况下返回False.在这种情况下,您可以这样写:
return True if 'e' not in word else False
但这可以缩短:
return 'e' not in word
标签:if-statement,syntax-error,python 来源: https://codeday.me/bug/20191026/1935741.html