Is there a Python version of the following if
-else
statement in C++ or similar statement like this:
int t = 0; int m = t==0?100:5;
Use the ternary operator to use a shorthand for an if else statement. The ternary operator starts with a condition that is followed by a question mark ? , then a value to return if the condition is truthy, a colon : , and a value to return if the condition is falsy.
Here's an example:if 51<5: print("False, statement skipped") elif 0<5: print("true, block executed") elif 0<3: print("true, but block will not execute") else: print("If all fails.")
The elif keyword is used in conditional statements (if statements), and is short for else if.
Python Conditional Statements: If, Else & Switch.
m = 100 if t == 0 else 5 # Requires Python version >= 2.5 m = (5, 100)[t == 0] # Or [5, 7][t == 0]
Both of the above lines will result in the same thing.
The first line makes use of Python's version of a "ternary operator" available since version 2.5, though the Python documentation refers to it as Conditional Expressions
.
The second line is a little hack to provide inline functionality in many (all of the important) ways equivalent to ?:
found in many other languages (such as C and C++).
Documentation of Python - 5.11. Conditional Expressions
The construct you are referring to is called the ternary operator. Python has a version of it (since version 2.5), like this:
x if a > b else y
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With