While-loopar

Introduktion till Python för utvecklare

Jasmin Ludolf

Senior Data Science Content Developer

If-sats

If-sats

Flödet i en if-sats: start > villkor uppfyllt > utför åtgärd > avsluta

Introduktion till Python för utvecklare

If-sats jämfört med while-loop

If-sats

Flödet i en if-sats: start > villkor uppfyllt > utför åtgärd > avsluta

While-loop

Flödet i en while-loop: start > villkor uppfyllt > utför åtgärd > loop > upprepas tills villkoret inte längre är uppfyllt

Introduktion till Python för utvecklare

While-loop

while condition:
    action
  • Alla kontinuerliga uppgifter
    • Accelerera while en knapp är intryckt

Spelkonsol med ett racingspel

1 https://unsplash.com/@joaoscferrao
Introduktion till Python för utvecklare

While-loop

ingredients_to_add = 5
items_added = 0
# Keep adding while we have items left
while items_added < ingredients_to_add:

items_added += 1 remaining = ingredients_to_add - items_added print(remaining, "ingredients left to add")
Introduktion till Python för utvecklare

Utdata

4 ingredients left to add
3 ingredients left to add
2 ingredients left to add
1 ingredients left to add
0 ingredients left to add
  • Loopen avslutas när items_added är lika med ingredients_to_add
Introduktion till Python för utvecklare

En varning

  • while körs kontinuerligt så länge villkoret är uppfyllt
ingredients_to_add = 5
items_added = 0

while items_added < ingredients_to_add:
    remaining = ingredients_to_add - items_added
    print(remaining, "ingredients left")
Introduktion till Python för utvecklare

Körs för evigt

ingredients_to_add = 5
items_added = 0

# INFINITE LOOP - never exits!
while items_added < ingredients_to_add:
    remaining = ingredients_to_add - items_added
    print(remaining, "ingredients left")
    # Forgot to increment items_added!
  • Villkoret blir aldrig False
  • Loopen körs för evigt och programmet fryser
  • Vanligt programmerarmisstag
Introduktion till Python för utvecklare

Avbryta en loop

while items_added < ingredients_to_add:
    remaining = ingredients_to_add - items_added
    print(remaining, "ingredients left")

# Terminate the loop break
  • break kan också användas i for-loopar

  • Om koden redan körs: Control + C / Command + C

Introduktion till Python för utvecklare

Villkorssatser i while-loopar

ingredients_to_add = 5
items_added = 0


while items_added < ingredients_to_add: items_added += 1 remaining = ingredients_to_add - items_added
if remaining > 3: print("Several ingredients remaining")
elif remaining >= 1: print("Almost done!")
else: print("Shopping list complete!")
Introduktion till Python för utvecklare

Utdata från villkorssatser

Several ingredients remaining
Several ingredients remaining
Almost done!
Almost done!
Shopping list complete!
Introduktion till Python för utvecklare

Nu kör vi en övning!

Introduktion till Python för utvecklare

Preparing Video For Download...