use*_*514 5 python if-statement
所有;
def foo(i):
return 100 if i < 10 else pass
return 200 if i < 20 else pass
return 1
Run Code Online (Sandbox Code Playgroud)
为什么这在python中不起作用?我想这段代码可能与以下内容相同:
def foo(i):
if i < 10:
return 100
elif i < 20:
return 200
else:
return 1
Run Code Online (Sandbox Code Playgroud)
谢谢!
mou*_*uad 20
在文档中,您将看到"三元运算符"应如下所示:
conditional_expression ::= or_test ["if" or_test "else" expression]
expression ::= conditional_expression | lambda_expr
Run Code Online (Sandbox Code Playgroud)
并且pass是一种陈述而不是表达
Flo*_*anx 10
像这样读你的代码:
return (100 if (i < 10) else pass)
Run Code Online (Sandbox Code Playgroud)
pass不是您可以返回的值.以下代码可以工作:
def foo(i):
return 100 if i < 10 else (200 if i < 20 else 1)
Run Code Online (Sandbox Code Playgroud)