+ 5

My simple doubt, can anyone explain?

print("a" or "z") # output a print("a" and "z") # output z print(1 or 9) # output 1 print(1 and 9) # output 9 https://code.sololearn.com/cfHxDH0oWD1L/?ref=app

16th Feb 2022, 4:23 AM
Sapling
Sapling - avatar
3 Answers
+ 13
From the documentation for logical operators `and`, `or` and and operator returns the first Falsy value if there are any, else return the last value in the expression. For example, print(a and b) if a is a Falsy value it returns a. Similarly, if a is a Truthy value b is returned. That's why ("a" and "z") returns z and 9 for 1 and 9 Here, Falsy value means value that evaluate toĀ FalseĀ are consideredĀ Falsy. or or returns the first Truthy value if there are any, else return the last value in the expression. Here, Truthy value means values that evaluate toĀ TrueĀ are consideredĀ Truthy. "a" or "z" since "a" is a Truthy value, it returns a and 1 for 1 or 9
16th Feb 2022, 4:33 AM
Simba
Simba - avatar
+ 4
OR - return first truthy value otherwise other value. AND - return first falsy value otherwise other value.
16th Feb 2022, 5:58 AM
Sapling
Sapling - avatar
+ 2
Thanks, Simba
16th Feb 2022, 5:52 AM
Sapling
Sapling - avatar