我知道“单行如果语句”问题已经被问过多次了,但是我无法弄清楚我的代码出了什么问题。我想转换
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
并指定三元条件运算符如
其中有语法:
if else
因此,Python正在寻找您的else
角色。
False
?
也许您想False
在测试失败的情况下返回。在这种情况下,您可以这样写:
return True if 'e' not in word else False
但这可以缩短:
return 'e' not in word