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

Swipe um das Menü anzuzeigen

book
While-Schleifen

while-Schleifen sind das zentrale Werkzeug für die Behandlung von unbestimmten Wiederholungen, was in Situationen nützlich ist, in denen die Anzahl der Durchläufe im Voraus nicht bekannt ist, wie zum Beispiel das Überwachen von Lagerbeständen, bis sie einen bestimmten Schwellenwert erreichen.

Sehen Sie, wie Alex demonstriert, wie man while-Schleifen verwendet, 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 starten, definiert man eine Zählvariable und folgt mit dem Schlüsselwort while sowie 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 unsere Zählvariable, beginnend 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 Milchvorrat in einem Supermarkt. Sie müssen sicherstellen, dass der Vorrat nicht unter ein bestimmtes Niveau fällt, und wenn dies geschieht, sollten Sie nachfüllen, um das Vorratsniveau 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 Vorratsstand erreicht ist. Ohne eine while-Schleife müssten Sie die genaue Menge an Milch berechnen, die auf einmal nachgefüllt werden muss.

Beispielsweise kann ein Mitarbeiter pro Gang nur eine feste Menge Milch nachfüllen (z. B. 20 Packungen pro Nachfüllung). Ist der Vorrat noch nicht vollständig aufgefüllt, 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 denselben Vorgang.

Das obige Flussdiagramm veranschaulicht die Logik der im while-Loop verwendeten Steuerung für die Milchbestandsverwaltung. Beachten Sie, dass 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; dann wird sie beendet.

Aufgabe

Swipe to start coding

Verwaltung des Lagerbestands 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.

  • Verwendung einer while-Schleife, um zu prüfen, ob "Bread" unter dem Mindestbestand liegt. Falls ja, Erhöhung des Bestands mit der entsprechenden Nachfüllmenge aus dem Dictionary.
  • Anwendung derselben Logik für "Eggs" und "Apples", jeweils mit einer eigenen while-Schleife.
  • Nach dem Auffüllen Durchlaufen des inventory-Dictionaries mit einer for-Schleife und Ausgabe der endgültigen Bestände aller Artikel.

Ausgabekriterien

  • Für jeden aufgefüllten Artikel folgende Ausgabe:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Nach dem Auffüllen aller Artikel Ausgabe von Final Inventory after restocking: gefolgt von den aktualisierten Beständen:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Vor der finalen Inventarausgabe eine neue Zeile mit \n einfügen.
  • Verwendung von f-strings für die Formatierung und einfachen Anführungszeichen innerhalb von doppelten Anführungszeichen für Dictionary-Schlüssel.

Hinweis

Um Syntaxkonflikte in f-strings zu vermeiden, doppelte Anführungszeichen um den String und einfache Anführungszeichen im Inneren verwenden: f"Bread stock is low: {inventory['Bread'][0]} units."
Für einen Zeilenumbruch im Output \n verwenden: "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

Fragen Sie AI

expand
ChatGPT

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

book
While-Schleifen

while-Schleifen sind das zentrale Werkzeug für die Behandlung von unbestimmten Wiederholungen, was in Situationen nützlich ist, in denen die Anzahl der Durchläufe im Voraus nicht bekannt ist, wie zum Beispiel das Überwachen von Lagerbeständen, bis sie einen bestimmten Schwellenwert erreichen.

Sehen Sie, wie Alex demonstriert, wie man while-Schleifen verwendet, 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 starten, definiert man eine Zählvariable und folgt mit dem Schlüsselwort while sowie 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 unsere Zählvariable, beginnend 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 Milchvorrat in einem Supermarkt. Sie müssen sicherstellen, dass der Vorrat nicht unter ein bestimmtes Niveau fällt, und wenn dies geschieht, sollten Sie nachfüllen, um das Vorratsniveau 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 Vorratsstand erreicht ist. Ohne eine while-Schleife müssten Sie die genaue Menge an Milch berechnen, die auf einmal nachgefüllt werden muss.

Beispielsweise kann ein Mitarbeiter pro Gang nur eine feste Menge Milch nachfüllen (z. B. 20 Packungen pro Nachfüllung). Ist der Vorrat noch nicht vollständig aufgefüllt, 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 denselben Vorgang.

Das obige Flussdiagramm veranschaulicht die Logik der im while-Loop verwendeten Steuerung für die Milchbestandsverwaltung. Beachten Sie, dass 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; dann wird sie beendet.

Aufgabe

Swipe to start coding

Verwaltung des Lagerbestands 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.

  • Verwendung einer while-Schleife, um zu prüfen, ob "Bread" unter dem Mindestbestand liegt. Falls ja, Erhöhung des Bestands mit der entsprechenden Nachfüllmenge aus dem Dictionary.
  • Anwendung derselben Logik für "Eggs" und "Apples", jeweils mit einer eigenen while-Schleife.
  • Nach dem Auffüllen Durchlaufen des inventory-Dictionaries mit einer for-Schleife und Ausgabe der endgültigen Bestände aller Artikel.

Ausgabekriterien

  • Für jeden aufgefüllten Artikel folgende Ausgabe:
    "<Item> stock is low: <$current_stock> units. Restocking..."
  • Nach dem Auffüllen aller Artikel Ausgabe von Final Inventory after restocking: gefolgt von den aktualisierten Beständen:
    "<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
  • Vor der finalen Inventarausgabe eine neue Zeile mit \n einfügen.
  • Verwendung von f-strings für die Formatierung und einfachen Anführungszeichen innerhalb von doppelten Anführungszeichen für Dictionary-Schlüssel.

Hinweis

Um Syntaxkonflikte in f-strings zu vermeiden, doppelte Anführungszeichen um den String und einfache Anführungszeichen im Inneren verwenden: f"Bread stock is low: {inventory['Bread'][0]} units."
Für einen Zeilenumbruch im Output \n verwenden: "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
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
Wir sind enttäuscht, dass etwas schief gelaufen ist. Was ist passiert?
some-alt