What is the result of evaluating `bool([]) or bool('False') and not bool(0)` in Python?
Answer and explanation
Correct answer: D. True
- Step 1: Evaluate truthiness: `bool([])` is `False` (empty list); `bool('False')` is `True` (non-empty string); `bool(0)` is `False`, so `not bool(0)` is `True`.
- Step 2: Operator precedence evaluates `not`, then `and`, then `or`: `True and True` evaluates to `True`. Finally, `False or True` evaluates to `True`.
Answer
True.
Why not the others: `bool('False')` is not False because non-empty strings are truthy; boolean expressions do not evaluate to None or Error.
Practise more Algorithms and Python Programming.
Free questions with an explanation for every one, and full timed EmSAT Achieve (UAE) mock tests.
More Algorithms and Python Programming questions
- What is the output of the following Python expression: [x**2 for x in range(6) if x % 2 != 0]?
- What is the worst-case time complexity of searching for an element in a balanced binary search tree (AVL tree) containing n nodes?
- What will be printed by the following Python code snippet?
def func(val, lst=[]):
lst.append(val)
return lst
print(func(1))
print(… - Which abstract data structure operates on a First-In, First-Out (FIFO) ordering principle?
- What is the return value of executing the recursive Python function `mystery(4)`?
def mystery(n):
if n <= 1:
return 1
retur… - What is the worst-case time complexity of the standard QuickSort algorithm when the chosen pivot is consistently the smallest or largest ele…