有吗?? Python 中的控制流?

发布于 2024-12-10 05:36:10 字数 465 浏览 0 评论 0原文

可能的重复:
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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花伊自在美 2024-12-17 05:36:10

是的,条件表达式在 Python 2.5+ 中可用

return n if n <= 1 else fibo(n-1) + fibo(n-2)

Yes, the conditional expression is available in Python 2.5+:

return n if n <= 1 else fibo(n-1) + fibo(n-2)
自在安然 2024-12-17 05:36:10

您可以尝试这个短路表达式 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文