Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen While-Schleifen | Schleifen
Einführung in Python

bookWhile-Schleifen

while-Schleifen sind das zentrale Werkzeug für die unbestimmte Iteration, was in Situationen nützlich ist, in denen die Anzahl der Durchläufe im Voraus nicht bekannt ist, wie zum Beispiel beim Überwachen von Lagerbeständen, bis ein bestimmter Schwellenwert erreicht wird.

Sehen Sie, wie Alex demonstriert, wie while-Schleifen verwendet werden, um dynamische Situationen zu bewältigen:

Eine while-Schleife in Python führt einen Codeblock kontinuierlich aus, solange eine bestimmte Bedingung True bleibt.

Syntax

Um eine while-Schleife zu beginnen, wird eine Zählvariable definiert, gefolgt vom Schlüsselwort while und einer booleschen Bedingung. Auf die Bedingung folgt ein Doppelpunkt :, der den Beginn des Schleifenblocks kennzeichnet.

Die Schleife wird wiederholt ausgeführt, bis die Bedingung False wird. Typischerweise wird die Zählvariable innerhalb der Schleife aktualisiert, um die Bedingung schließlich auf False zu setzen und die Schleife zu beenden.

Betrachten Sie zum Beispiel diese while-Schleife:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

In diesem Beispiel fungiert queue_length als Zählvariable und startet bei 5. Mit jeder Schleifeniteration verringert sich der Wert von queue_length um 1, bis er 0 erreicht. Zu diesem Zeitpunkt endet die Schleife, da die Bedingung 0 > 0 als False ausgewertet wird.

Hinweis

Es ist entscheidend, die Zählvariable innerhalb der Schleife zu aktualisieren, um schließlich die Abbruchbedingung der Schleife zu erfüllen. Andernfalls läuft die Schleife endlos weiter und verhindert die Ausführung des restlichen Codes.

Anwendungsbeispiel

Stellen Sie sich vor, Sie verwalten den Milchbestand in einem Lebensmittelgeschäft. Sie müssen sicherstellen, dass der Bestand nicht unter ein bestimmtes Niveau fällt, und wenn dies geschieht, sollten Sie nachfüllen, um das Bestandsniveau zu halten.

Eine while-Schleife ist in dieser Situation nützlich, da sie es ermöglicht, Milch in mehreren Schritten nachzufüllen, bis der gewünschte Bestand erreicht ist. Ohne eine while-Schleife müssten Sie die genaue Menge an Milch berechnen, die auf einmal nachgefüllt werden muss.

Angenommen, ein Mitarbeiter kann pro Gang nur eine feste Menge Milch nachfüllen (z. B. 20 Packungen pro Nachfüllung). Wenn der Bestand noch nicht vollständig aufgefüllt ist, kehrt der Mitarbeiter ins Lager zurück, um eine weitere Charge Milch zu holen.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Hinweis

milk_stock += restock_quantity ist gleichbedeutend mit milk_stock = milk_stock + restock_quantity. Es handelt sich lediglich um eine kürzere und besser lesbare Schreibweise für dieselbe Operation.

Das obige Flussdiagramm veranschaulicht die Logik hinter der while-Schleife zur Verwaltung des Milchbestands. Beachten Sie, wie die Zählvariable milk_stock, beginnend bei 15, mit jeder Schleifeniteration um die restock_quantity erhöht wird.

Die Schleife läuft so lange, bis milk_stock den min_stock Schwellenwert von 50 überschreitet, woraufhin sie beendet wird.

Aufgabe

Swipe to start coding

Verwalten Sie den Lagerbestand eines Lebensmittelgeschäfts mithilfe von while-Schleifen, um sicherzustellen, dass Bread, Eggs und Apples ihre Mindestbestände erreichen. Die Nachfüllmengen sind in einem Dictionary gespeichert.

  • Verwenden Sie eine while-Schleife, um zu prüfen, ob "Bread" unter dem Mindestbestand liegt. Falls ja, erhöhen Sie den Bestand mit der entsprechenden Nachfüllmenge aus dem Dictionary.
  • Wenden Sie die gleiche Logik für "Eggs" und "Apples" an, jeweils mit einer eigenen while-Schleife.
  • Durchlaufen Sie nach dem Auffüllen das inventory-Dictionary mit einer for-Schleife und geben Sie die endgültigen Bestände aller Artikel aus.

Ausgabekriterien

  • Für jeden aufgefüllten Artikel ausgeben:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Nach dem Auffüllen aller Artikel ausgeben: Final Inventory after restocking: gefolgt von den aktualisierten Beständen:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Fügen Sie vor dem endgültigen Lagerbestand eine neue Zeile mit \n ein.
  • Verwenden Sie f-strings für die Formatierung und einfache Anführungszeichen innerhalb von doppelten Anführungszeichen für Dictionary-Schlüssel.

Hinweis

Um Syntaxkonflikte in f-strings zu vermeiden, verwenden Sie doppelte Anführungszeichen um den String und einfache Anführungszeichen im Inneren: f"Bread stock is low: {inventory['Bread'][0]} units."
Verwenden Sie \n, um eine neue Zeile in der Ausgabe zu beginnen: "First line.\nSecond line."

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

Can you explain what would happen if we forgot to update the counter variable inside the while loop?

How can I use a while loop for user input validation?

Can you show another real-world example where a while loop is useful?

close

Awesome!

Completion rate improved to 2.17

bookWhile-Schleifen

Swipe um das Menü anzuzeigen

while-Schleifen sind das zentrale Werkzeug für die unbestimmte Iteration, was in Situationen nützlich ist, in denen die Anzahl der Durchläufe im Voraus nicht bekannt ist, wie zum Beispiel beim Überwachen von Lagerbeständen, bis ein bestimmter Schwellenwert erreicht wird.

Sehen Sie, wie Alex demonstriert, wie while-Schleifen verwendet werden, um dynamische Situationen zu bewältigen:

Eine while-Schleife in Python führt einen Codeblock kontinuierlich aus, solange eine bestimmte Bedingung True bleibt.

Syntax

Um eine while-Schleife zu beginnen, wird eine Zählvariable definiert, gefolgt vom Schlüsselwort while und einer booleschen Bedingung. Auf die Bedingung folgt ein Doppelpunkt :, der den Beginn des Schleifenblocks kennzeichnet.

Die Schleife wird wiederholt ausgeführt, bis die Bedingung False wird. Typischerweise wird die Zählvariable innerhalb der Schleife aktualisiert, um die Bedingung schließlich auf False zu setzen und die Schleife zu beenden.

Betrachten Sie zum Beispiel diese while-Schleife:

1234567891011
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
copy

In diesem Beispiel fungiert queue_length als Zählvariable und startet bei 5. Mit jeder Schleifeniteration verringert sich der Wert von queue_length um 1, bis er 0 erreicht. Zu diesem Zeitpunkt endet die Schleife, da die Bedingung 0 > 0 als False ausgewertet wird.

Hinweis

Es ist entscheidend, die Zählvariable innerhalb der Schleife zu aktualisieren, um schließlich die Abbruchbedingung der Schleife zu erfüllen. Andernfalls läuft die Schleife endlos weiter und verhindert die Ausführung des restlichen Codes.

Anwendungsbeispiel

Stellen Sie sich vor, Sie verwalten den Milchbestand in einem Lebensmittelgeschäft. Sie müssen sicherstellen, dass der Bestand nicht unter ein bestimmtes Niveau fällt, und wenn dies geschieht, sollten Sie nachfüllen, um das Bestandsniveau zu halten.

Eine while-Schleife ist in dieser Situation nützlich, da sie es ermöglicht, Milch in mehreren Schritten nachzufüllen, bis der gewünschte Bestand erreicht ist. Ohne eine while-Schleife müssten Sie die genaue Menge an Milch berechnen, die auf einmal nachgefüllt werden muss.

Angenommen, ein Mitarbeiter kann pro Gang nur eine feste Menge Milch nachfüllen (z. B. 20 Packungen pro Nachfüllung). Wenn der Bestand noch nicht vollständig aufgefüllt ist, kehrt der Mitarbeiter ins Lager zurück, um eine weitere Charge Milch zu holen.

123456789101112131415161718
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
copy

Hinweis

milk_stock += restock_quantity ist gleichbedeutend mit milk_stock = milk_stock + restock_quantity. Es handelt sich lediglich um eine kürzere und besser lesbare Schreibweise für dieselbe Operation.

Das obige Flussdiagramm veranschaulicht die Logik hinter der while-Schleife zur Verwaltung des Milchbestands. Beachten Sie, wie die Zählvariable milk_stock, beginnend bei 15, mit jeder Schleifeniteration um die restock_quantity erhöht wird.

Die Schleife läuft so lange, bis milk_stock den min_stock Schwellenwert von 50 überschreitet, woraufhin sie beendet wird.

Aufgabe

Swipe to start coding

Verwalten Sie den Lagerbestand eines Lebensmittelgeschäfts mithilfe von while-Schleifen, um sicherzustellen, dass Bread, Eggs und Apples ihre Mindestbestände erreichen. Die Nachfüllmengen sind in einem Dictionary gespeichert.

  • Verwenden Sie eine while-Schleife, um zu prüfen, ob "Bread" unter dem Mindestbestand liegt. Falls ja, erhöhen Sie den Bestand mit der entsprechenden Nachfüllmenge aus dem Dictionary.
  • Wenden Sie die gleiche Logik für "Eggs" und "Apples" an, jeweils mit einer eigenen while-Schleife.
  • Durchlaufen Sie nach dem Auffüllen das inventory-Dictionary mit einer for-Schleife und geben Sie die endgültigen Bestände aller Artikel aus.

Ausgabekriterien

  • Für jeden aufgefüllten Artikel ausgeben:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Nach dem Auffüllen aller Artikel ausgeben: Final Inventory after restocking: gefolgt von den aktualisierten Beständen:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Fügen Sie vor dem endgültigen Lagerbestand eine neue Zeile mit \n ein.
  • Verwenden Sie f-strings für die Formatierung und einfache Anführungszeichen innerhalb von doppelten Anführungszeichen für Dictionary-Schlüssel.

Hinweis

Um Syntaxkonflikte in f-strings zu vermeiden, verwenden Sie doppelte Anführungszeichen um den String und einfache Anführungszeichen im Inneren: f"Bread stock is low: {inventory['Bread'][0]} units."
Verwenden Sie \n, um eine neue Zeile in der Ausgabe zu beginnen: "First line.\nSecond line."

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 2
single

single

some-alt