有吗?? Python 中的控制流?
可能的重复:
Python 三元运算符
是否有类似于 '?' 的控制流运算符python中的C/C++?
如果有一段类似这样的代码:
return n <= 1 ? n : fibo(n-1) + fibo(n-2)
会得到这样的错误:
File "fibonacci.py", line 2
return n <= 1 ? n : fibo(n-1) + fibo(n-2)
^
SyntaxError: invalid syntax
Possible Duplicate:
Python Ternary Operator
Is there control flow operator similar to '?' of C/C++ in python?
If there is a chunk of code similar to this:
return n <= 1 ? n : fibo(n-1) + fibo(n-2)
Will got an error like this:
File "fibonacci.py", line 2
return n <= 1 ? n : fibo(n-1) + fibo(n-2)
^
SyntaxError: invalid syntax
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,条件表达式在 Python 2.5+ 中可用:
Yes, the conditional expression is available in Python 2.5+:
您可以尝试这个短路表达式
return n > 1 和 fibo(n-1) + fibo(n-2) 或 n
。虽然这不是三元语句,但它很简洁并且可以在这种情况下完成工作。You can try this short circuit expression
return n > 1 and fibo(n-1) + fibo(n-2) or n
. While this is not the ternary statement, it is concise and does the job in this scenario.