Bedingte Ausdrücke
In diesem Kapitel befassen wir uns mit einem der grundlegendsten Aspekte der Programmierung in Python — bedingte Ausdrücke mit den Operatoren if
, else
und elif
.
Diese Operatoren ermöglichen es, verschiedene Codeblöcke abhängig von bestimmten Bedingungen auszuführen und verleihen Ihren Programmen die Fähigkeit, dynamisch Entscheidungen zu treffen. Das Verständnis dieser Ausdrücke ist entscheidend für die Entwicklung von Anwendungen, die effektiv auf verschiedene Eingaben und Situationen reagieren können.
Sehen Sie, wie Alex die Vielseitigkeit dieser bedingten Ausdrücke demonstriert:
Die if
-Anweisung wertet eine Bedingung aus und führt einen Codeblock aus, wenn die Bedingung True
ist. Falls die Bedingung nicht True
ist, können die Anweisungen else
und elif
(Abkürzung für „else if“) zusätzliche Bedingungen angeben, um entsprechend anderen Code auszuführen.
So funktionieren sie:
if
Die primäre bedingte Anweisung prüft, ob eine Bedingung True
ist. Sie leitet eine bedingte Sequenz ein. if
-Anweisungen dürfen nur einmal am Anfang einer Sequenz erscheinen. Wenn die Bedingung zu True
ausgewertet wird, wird der eingerückte Codeblock nach der if
-Anweisung ausgeführt.
elif
Kurz für „else if“, bietet die elif
-Anweisung zusätzliche Bedingungen, die geprüft werden, falls die ursprüngliche if
- oder eine vorherige elif
-Bedingung False
war. Sie können mehrere elif
-Anweisungen nach einer if
-Anweisung einfügen, um verschiedene Szenarien zu behandeln, jeweils mit eigener Bedingung.
else
Dies dient als Auffanglösung für Fälle, die von den vorherigen if
- und elif
-Bedingungen nicht explizit abgedeckt werden. Es darf nur eine else
-Anweisung am Ende einer if
-Sequenz geben, und sie benötigt keine Bedingung.
Anwendungsbeispiele
Beginnen wir mit einer einfachen if
/ else
-Anweisung, um eine Entscheidung basierend auf einer einzigen Bedingung zu treffen. Hier versuchen wir festzustellen, ob ein Lebensmittelartikel basierend auf seinem aktuellen Lagerbestand nachbestellt werden muss:
# Stock level of an item stock_level = 15 # Simple `if`/`else` to check stock levels if stock_level < 20: print("Stock is low") else: print("Stock is okay")
Dieses Flussdiagramm zeigt die Entscheidungswege, die Ihr Python-Interpreter im vorherigen if-else
-Beispiel durchläuft:
Als Nächstes verwenden wir die elif
-Anweisung in einer etwas komplexeren Anwendung. In diesem Beispiel werden if
-/elif
-/else
-Anweisungen genutzt, um Rabattstufen basierend auf den Gesamtkosten zu vergeben und so größere Verkäufe zu fördern.
# Initial conditions totalCost = 150 # Applying discounts based on purchase amount if totalCost >= 200: print("20% discount applied") elif totalCost >= 100: print("10% discount applied") else: print("No discount for purchases under $100")
Dieses Flussdiagramm visualisiert den Prozess der Rabattvergabe basierend auf den Gesamtkosten unter Verwendung von if
-, elif
- und else
-Anweisungen:
In der nächsten Anwendung führen wir verschachtelte if-else
-Bedingungen ein, um einen detaillierteren Entscheidungsprozess zu demonstrieren. Durch das Einbetten einer if-else
-Struktur in eine andere können wir eine Reihe von Entscheidungen auf Grundlage mehrerer Kriterien treffen.
Dieses praxisnahe Beispiel veranschaulicht, wie ein Lebensmittelgeschäft die Bestandsverwaltung anhand des Produkttyps und spezifischer Bedingungen wie Lieferdatum oder Lagerbestand steuern könnte.
# Initial conditions product = 'Non-Perishable' stock = 70 # Determine the handling of products based on type and condition if product == 'Perishable': if daysDelivered >= 4: print("Not fresh - Initiate discount") else: print("Product is fresh") elif product == 'Non-Perishable': if stock > 100: print("Consider discount") else: print("No discount needed") else: print("The product is not specified")
Das folgende Entscheidungsbaumdiagramm stellt die verschachtelte if-else
-Logik aus dem vorherigen Codebeispiel visuell dar:
Einige Syntaxhinweise
Beim Schreiben von bedingten Anweisungen in Python ist die Einhaltung bestimmter Syntaxregeln unerlässlich. Es fällt auf, welche zentrale Rolle Doppelpunkte :
und Einrückungen bei der Erstellung ausführbarer Bedingungen spielen.
Im Folgenden wird die Bedeutung dieser Details erläutert:
Doppelpunkte
Der Doppelpunkt am Ende einer if
-, elif
- oder else
-Anweisung signalisiert: "Hier folgen die Anweisungen, falls die zuvor genannte Bedingung erfüllt ist." Der Doppelpunkt dient als Markierung, die den Beginn der Anweisungen klar kennzeichnet.
Einrückung
Wenn die Bedingung über einem eingerückten Codeblock True
ist, werden alle eingerückten Codezeilen darunter ausgeführt. Ist sie nicht True
, überspringt Python diese Schritte und prüft die nächste Bedingung.
Auch wenn dies wie kleine Details erscheinen mag, sind sie entscheidend dafür, dass Ihr Code korrekt ausgeführt wird. Mit zunehmender Erfahrung in Python werden Ihnen diese Vorgehensweisen in Fleisch und Blut übergehen.
Ausgezeichnete Arbeit beim Verstehen dieser grundlegenden Aspekte von Python! Ihr Verständnis für die korrekte Strukturierung von Kontrollanweisungen bildet eine solide Grundlage, um komplexere Programmieraufgaben zu bewältigen. Nun können Sie Ihr neues Wissen in einer umfassenden Herausforderung anwenden, um das Gelernte in einer praxisnahen Situation zu erproben.
Swipe to start coding
Erstellung eines einfachen Rabattsystems für ein Lebensmittelgeschäft, das Rabatte basierend auf Produkttyp und Wochentag gewährt.
- Verwendung der Eingabevariablen
product_type
undday_of_week
. - Implementierung von bedingten Anweisungen zur Überprüfung:
- Wenn
product_type
"Fruits"
undday_of_week
"Monday"
ist, Ausgabe eines 10%-Rabattes auf Obst; - Wenn
product_type
"Vegetables"
undday_of_week
"Tuesday"
ist, Ausgabe eines 15%-Rabattes auf Gemüse; - Wenn
product_type
"Dairy"
undday_of_week
"Wednesday"
ist, Ausgabe eines 20%-Rabattes auf Milchprodukte; - Wenn
product_type
"Other"
ist, Ausgabe von"No discount available."
; - Verwendung von
else
zur Behandlung aller weiteren Fälle, in denen keine Bedingung zutrifft.
- Wenn
Ausgabebedingungen
- Ausgabe von Nachrichten wie:
"10% discount on Fruits today!"
für jede zutreffende Bedingung. - Wenn
product_type
"Other"
ist, Ausgabe von"No discount available."
- Wenn keine Bedingungen zutreffen, Ausgabe von
"No special discounts today."
Lösung
Danke für Ihr Feedback!