[Solved] why this code doesn’t work i am using python3?


The problem here is in your conditional

while len(lists) is True:

is checks for identity, not equality.

[1, 2, 3] == [1, 2, 3]  # True
[1, 2, 3] is [1, 2, 3]  # False, they are two distinct (but equivalent) lists.

However even equality would be incorrect here, since

42 == True           # False
2 == True            # False
any_nonzero == True  # False
# notably 1 == True
# and     0 == False
# but still (1 is True) == False!

You can coerce an integer into a boolean

bool(42) == True           # True
bool(2) == True            # True
bool(any_nonzero) == True  # True

But it’s usually better to just leave the coercion to Python

while lists:
    lists.pop()
# or more simply:
# lists = []

4

solved why this code doesn’t work i am using python3?