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

Swipe um das Menü anzuzeigen

book
For-Schleifen

Willkommen im Abschnitt, der sich den Schleifen widmet!

In diesem Kapitel tauchen wir ein in die Bedeutung von Schleifen als zentrales Werkzeug zur Automatisierung wiederholender Aufgaben. Sie sind unerlässlich für die effiziente Verarbeitung von Listen und anderen iterierbaren Datentypen.

Begleite Alex, während er den Einsatz von for-Schleifen demonstriert, um Abläufe in unserem Lebensmittelgeschäft zu vereinfachen:

Die Verwendung von for-Schleifen in Python ermöglicht es, einen Codeblock wiederholt für jedes Element einer Sammlung (iterierbares Objekt) auszuführen. Das sollten Sie über for-Schleifen wissen:

Syntax

Eine for-Schleife wird mit dem Schlüsselwort for eingeleitet, gefolgt von einem Variablennamen wie item, der jedes Element in der Sequenz repräsentiert. Danach folgt das Schlüsselwort in und das iterierbare Objekt, beispielsweise groceryItems. Der Codeblock innerhalb der Schleife wird für jedes Element einmal ausgeführt.

In diesem Beispiel fungiert item als Iteratorvariable, die nacheinander auf jedes Element der Liste groceryItems zugreift und für jedes Element die Funktion print() ausführt:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteration bezeichnet den Prozess, einen Codeblock wiederholt auszuführen. Python unterstützt zwei Hauptarten der Iteration:

Definierte Iteration

Hierbei ist die Anzahl der Durchläufe im Voraus bekannt. for-Schleifen sind ein klassisches Beispiel und stoppen automatisch, wenn das Ende der Sequenz erreicht ist.

Unbestimmte Iteration

Hier läuft die Ausführung so lange, bis eine bestimmte Bedingung erfüllt ist, typischerweise mit while-Schleifen, die im nächsten Kapitel ausführlich behandelt werden.

Beispielanwendungen

for-Schleifen in Python können mit jedem iterierbaren Objekt verwendet werden (lists, tuples, dictionaries, strings) und ermöglichen die Datenverarbeitung auf Elementbasis.

Egal, ob Sie Elemente in einer Liste, Schlüssel oder Werte in einem Wörterbuch oder Zeichen in einer Zeichenkette zugreifen möchten, bieten for-Schleifen eine klare Syntax, die den Code für wiederkehrende Aufgaben vereinfacht.

So können Sie mit einer for-Schleife über die Elemente einer Zeichenkette und eines Tupels iterieren, ähnlich wie zuvor bei Listen gezeigt:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Bei der Verwendung einer for-Schleife mit einem Dictionary werden beim direkten Iterieren über das Dictionary standardmäßig die Schlüssel durchlaufen.

Das ist zu erwarten, wenn Sie direkt über ein Dictionary iterieren:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Beachte, dass die Iteratorvariable product nur auf die Schlüssel des Dictionaries zugreift.

Um über die Werte eines Dictionaries zu iterieren, kann die Methode values() verwendet werden.

Dies ist nützlich für Operationen, bei denen auf die Werte zugegriffen werden muss, ohne die Schlüssel zu referenzieren:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Wenn sowohl Schlüssel als auch Werte gleichzeitig benötigt werden, ermöglicht die Methode items(), durch Schlüssel-Wert-Paare eines Dictionaries zu iterieren.

Um diese Methode in einer for-Schleife zu verwenden, werden zwei Variablen vor dem Schlüsselwort in angegeben — eine für den Schlüssel (product) und eine für den Wert (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Hinweis

In diesem Beispiel verwenden wir f-Strings (auch als formatierte Zeichenkettenliterale bekannt), um Variablen direkt in Zeichenketten einzubetten. Die Syntax ist einfach: Ein f vor dem öffnenden Anführungszeichen " hinzufügen und Variablen oder Ausdrücke innerhalb von geschweiften Klammern {} in die Zeichenkette einfügen. Diese Methode macht das Kombinieren von Zeichenketten und Variablen in Ausgaben deutlich lesbarer und ist daher sehr empfehlenswert.

Basierend auf Ihrem Wissen über if/else, boolesche Operatoren und for-Schleifen kann eine einfache Bestandsprüfung für ein Wörterbuch durchgeführt werden:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Hinweis

Es fällt auf, dass wir if-Anweisungen innerhalb der for-Schleife platziert haben, was zu zusätzlicher Einrückung im if-Block führt. Wie bereits erwähnt, kann jeder eingerückte Codeblock unabhängig behandelt werden, unabhängig davon, wo er platziert ist. Entscheidend ist, dass die Einrückung zwischen den Blöcken konsistent und korrekt ist.

Aufgabe

Swipe to start coding

Verwaltung von Lagerbestand und Aktionen in einem Lebensmittelgeschäft durch Iteration über das Inventar, Überprüfung von Nachfüllbedingungen und Anwendung von Aktionen.

  • Iteration über jedes Produkt im inventory-Dictionary.
  • Innerhalb der Schleife Abruf von current_stock und min_stock aus der Inventarliste.
  • Verwendung einer if-Anweisung, um zu prüfen, ob der aktuelle Bestand kleiner oder gleich dem Mindestbestand ist:
    • Falls ja, Ausgabe einer Nachfüllmeldung, Erhöhung des Bestands um 20, Aktualisierung des Inventars und Ausgabe einer Aktualisierungsmeldung.
  • Verwendung einer weiteren if-Anweisung, um zu prüfen, ob das Produkt im promotions-Dictionary existiert.

Ausgabebedingungen

Für jeden Artikel ausgeben:

  • --- Processing: <item> ---

  • Falls Nachfüllen erforderlich:
    <item> muss nachgefüllt werden. Aktueller Bestand: <current_stock>. Mindestbestand: <min_stock>

    Aktualisierter Bestand für <item>: <updated_stock>

  • Falls eine Aktion existiert:
    Aktion für <item>: <promotion_details>

  • Falls nicht:
    Keine Aktionen für <item>

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 1

Fragen Sie AI

expand
ChatGPT

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

book
For-Schleifen

Willkommen im Abschnitt, der sich den Schleifen widmet!

In diesem Kapitel tauchen wir ein in die Bedeutung von Schleifen als zentrales Werkzeug zur Automatisierung wiederholender Aufgaben. Sie sind unerlässlich für die effiziente Verarbeitung von Listen und anderen iterierbaren Datentypen.

Begleite Alex, während er den Einsatz von for-Schleifen demonstriert, um Abläufe in unserem Lebensmittelgeschäft zu vereinfachen:

Die Verwendung von for-Schleifen in Python ermöglicht es, einen Codeblock wiederholt für jedes Element einer Sammlung (iterierbares Objekt) auszuführen. Das sollten Sie über for-Schleifen wissen:

Syntax

Eine for-Schleife wird mit dem Schlüsselwort for eingeleitet, gefolgt von einem Variablennamen wie item, der jedes Element in der Sequenz repräsentiert. Danach folgt das Schlüsselwort in und das iterierbare Objekt, beispielsweise groceryItems. Der Codeblock innerhalb der Schleife wird für jedes Element einmal ausgeführt.

In diesem Beispiel fungiert item als Iteratorvariable, die nacheinander auf jedes Element der Liste groceryItems zugreift und für jedes Element die Funktion print() ausführt:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteration bezeichnet den Prozess, einen Codeblock wiederholt auszuführen. Python unterstützt zwei Hauptarten der Iteration:

Definierte Iteration

Hierbei ist die Anzahl der Durchläufe im Voraus bekannt. for-Schleifen sind ein klassisches Beispiel und stoppen automatisch, wenn das Ende der Sequenz erreicht ist.

Unbestimmte Iteration

Hier läuft die Ausführung so lange, bis eine bestimmte Bedingung erfüllt ist, typischerweise mit while-Schleifen, die im nächsten Kapitel ausführlich behandelt werden.

Beispielanwendungen

for-Schleifen in Python können mit jedem iterierbaren Objekt verwendet werden (lists, tuples, dictionaries, strings) und ermöglichen die Datenverarbeitung auf Elementbasis.

Egal, ob Sie Elemente in einer Liste, Schlüssel oder Werte in einem Wörterbuch oder Zeichen in einer Zeichenkette zugreifen möchten, bieten for-Schleifen eine klare Syntax, die den Code für wiederkehrende Aufgaben vereinfacht.

So können Sie mit einer for-Schleife über die Elemente einer Zeichenkette und eines Tupels iterieren, ähnlich wie zuvor bei Listen gezeigt:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Bei der Verwendung einer for-Schleife mit einem Dictionary werden beim direkten Iterieren über das Dictionary standardmäßig die Schlüssel durchlaufen.

Das ist zu erwarten, wenn Sie direkt über ein Dictionary iterieren:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Beachte, dass die Iteratorvariable product nur auf die Schlüssel des Dictionaries zugreift.

Um über die Werte eines Dictionaries zu iterieren, kann die Methode values() verwendet werden.

Dies ist nützlich für Operationen, bei denen auf die Werte zugegriffen werden muss, ohne die Schlüssel zu referenzieren:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Wenn sowohl Schlüssel als auch Werte gleichzeitig benötigt werden, ermöglicht die Methode items(), durch Schlüssel-Wert-Paare eines Dictionaries zu iterieren.

Um diese Methode in einer for-Schleife zu verwenden, werden zwei Variablen vor dem Schlüsselwort in angegeben — eine für den Schlüssel (product) und eine für den Wert (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Hinweis

In diesem Beispiel verwenden wir f-Strings (auch als formatierte Zeichenkettenliterale bekannt), um Variablen direkt in Zeichenketten einzubetten. Die Syntax ist einfach: Ein f vor dem öffnenden Anführungszeichen " hinzufügen und Variablen oder Ausdrücke innerhalb von geschweiften Klammern {} in die Zeichenkette einfügen. Diese Methode macht das Kombinieren von Zeichenketten und Variablen in Ausgaben deutlich lesbarer und ist daher sehr empfehlenswert.

Basierend auf Ihrem Wissen über if/else, boolesche Operatoren und for-Schleifen kann eine einfache Bestandsprüfung für ein Wörterbuch durchgeführt werden:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Hinweis

Es fällt auf, dass wir if-Anweisungen innerhalb der for-Schleife platziert haben, was zu zusätzlicher Einrückung im if-Block führt. Wie bereits erwähnt, kann jeder eingerückte Codeblock unabhängig behandelt werden, unabhängig davon, wo er platziert ist. Entscheidend ist, dass die Einrückung zwischen den Blöcken konsistent und korrekt ist.

Aufgabe

Swipe to start coding

Verwaltung von Lagerbestand und Aktionen in einem Lebensmittelgeschäft durch Iteration über das Inventar, Überprüfung von Nachfüllbedingungen und Anwendung von Aktionen.

  • Iteration über jedes Produkt im inventory-Dictionary.
  • Innerhalb der Schleife Abruf von current_stock und min_stock aus der Inventarliste.
  • Verwendung einer if-Anweisung, um zu prüfen, ob der aktuelle Bestand kleiner oder gleich dem Mindestbestand ist:
    • Falls ja, Ausgabe einer Nachfüllmeldung, Erhöhung des Bestands um 20, Aktualisierung des Inventars und Ausgabe einer Aktualisierungsmeldung.
  • Verwendung einer weiteren if-Anweisung, um zu prüfen, ob das Produkt im promotions-Dictionary existiert.

Ausgabebedingungen

Für jeden Artikel ausgeben:

  • --- Processing: <item> ---

  • Falls Nachfüllen erforderlich:
    <item> muss nachgefüllt werden. Aktueller Bestand: <current_stock>. Mindestbestand: <min_stock>

    Aktualisierter Bestand für <item>: <updated_stock>

  • Falls eine Aktion existiert:
    Aktion für <item>: <promotion_details>

  • Falls nicht:
    Keine Aktionen für <item>

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 1
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