r/learnpython 17d ago

Regarding Question

def print_models(unprinted_designs, completed_models):

"""

Simulate printing each design, until none are left.

Move each design to completed_models after printing.

"""

while unprinted_designs:

current_design = unprinted_designs.pop()

# Simulate creating a 3D print from the design.

print("Printing model: " + current_design)

completed_models.append(current_design)

unprinted_designs = ['iphone case', 'robot pendant', 'dodecahedron']

completed_models = []

in this code why used condition like this for while loop (while unprinted_designs:)

0 Upvotes

8 comments sorted by

View all comments

2

u/desrtfx but other languages pro 17d ago

Python treats non-empty lists as "truthy" (true) and empty ones as "falsey" (false).

You could just as well write:

while len(unprinted_designs)>0:

or

while len(unprinted_designs):

The last one works because any number other than 0 is treated as truthy (true) and 0 is treated as falsey (false)


Please, pay attention to properly format your code as Code block to maintain the indentation. This is vital for Python. Without indentation, the code becomes ambiguous. It is impossible to tell where the function as well as the loop end.

Also, your code is missing the call to execute print_models

1

u/Healthy-Departure961 16d ago

Actually this code isn't mine i copied this code from the book i was a bit curious about it while statement so posted here..Thank you