[Python] Kapitel 05-02 Steuerungssyntax (Kombination von Bedingungen)

[Python] Kapitel 05-02 Kombination von Bedingungen

Im vorherigen Abschnitt haben wir die Verzweigung nach if-Anweisungen unter Verwendung einer Bedingung angesprochen. Zum Beispiel:

>>> 5 == 5
True
>>> 5 != 5
False
>>> 5 != 4
True
>>> 5 > 4
True
>>> 5 >= 5
True
>>> 5 > 5
False

Es gibt jedoch einige kompliziertere Bedingungen. Zum Beispiel "wenn a und b gleich sind und c und d auch gleich sind". Ich werde auf die Kombination dieser Bedingungen eingehen.

UND-Betrieb

Wenn Bedingung A und Bedingung B erfüllt sind, ** True **, wenn beide erfüllt sind ** (dh beide sind ** True **).

Geben Sie den folgenden Code in die ** Python Console ** ein.

>>> a = 1
>>> b = -1
>>> a > 0
True
>>> b > 0
False
>>> a > 0 and b > 0
False

Oben erfüllt ** a> 0 ** die Bedingung, ** b> 0 ** jedoch nicht. Daher wird ** a> 0 und b> 0 ** zu ** False **, weil ** beide nicht erfüllt sind **.

Derzeit sind nur zwei Bedingungen aufgeführt, aber selbst wenn die Operation und für die drei Bedingungen ausgeführt wird, ist sie ** True **, wenn die drei Bedingungen erfüllt sind.

Die folgende Tabelle fasst die UND-Verknüpfung zusammen.

Bedingung A. Bedingung B. Bedingung A.andBedingung B.
True True True
True False False
False True False
False False False

ODER-Betrieb

Wenn es Bedingung A und Bedingung B gibt, wenn eine der beiden Bedingungen erfüllt ist (dh eine der beiden ist ** wahr **), ist sie ** wahr **.

Geben Sie den folgenden Code in die ** Python Console ** ein.

>>> a = 1
>>> b = -1
>>> a > 0
True
>>> b > 0
False
>>> a > 0 or b > 0
True

Oben erfüllt ** a> 0 ** die Bedingung, ** b> 0 ** jedoch nicht. Im Fall einer ODER-Verknüpfung wird ** a> 0 oder b> 0 ** jedoch zu ** True **, da nur eine der beiden ** erfüllt werden muss.

Die folgende Tabelle fasst die ODER-Verknüpfung zusammen.

Bedingung A. Bedingung B. Bedingung A.andBedingung B.
True True True
True False True
False True True
False False False

NICHT Betrieb

Wird verwendet, wenn ** es verweigert **, wenn Bedingung A vorliegt.

>>> a = 1
>>> a > 0
True
>>> not a > 0
False

Erstens ist ** a> 0 ** ** 1> 0 **, also ** True **. Im Fall einer NICHT-Operation ist sie jedoch ** negativ **, sodass das Gegenteil der Fall ist und das Ergebnis ** falsch ** ist.

Bedingung A. notBedingung A.
True False
False True

Erstellen eines Programms unter Verwendung einer Kombination von Bedingungen

Lassen Sie uns tatsächlich ein if-Anweisungsprogramm erstellen, das Bedingungen kombiniert. Das Programm dieser Zeit ist wie folgt.

Geben Sie die Anzahl der Monate von 1 bis 12 ein, "Frühling" für März-Mai, "Sommer" für Juni-August, "Herbst" für September-November, 12 Erstellen Sie von Montag bis Februar ein Programm, das "Es ist Winter" anzeigt. Wenn eine andere Zahl als 1 bis 12 eingegeben wird, wird bitte "Der Monat existiert nicht" angezeigt.

Lassen Sie uns tatsächlich ein Programm erstellen. Erstellen Sie eine Datei mit dem Namen 05-02-01.py </ font> im Ordner chap05 </ font> und geben Sie den folgenden Code ein.

05-02-01.py


month = int(input('Bitte geben Sie die Anzahl der Monate (1-12) ein:'))

if month >= 3 and month <= 5:
    print('Es ist Frühling')
elif month >= 6 and month <= 8:
    print('Es ist Sommer')
elif month >= 9 and month <= 11:
    print('')
elif month == 12 or month <= 2:
    print('Es ist Winter')
else:
    print('Dieser Monat existiert nicht.')


05-02-01.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Bitte geben Sie die Anzahl der Monate (1-12) ein: 7 </ font> Es ist Sommer

Lassen Sie uns erklären.

Geben Sie zuerst die Anzahl der Monate ein, und dann wird die Verarbeitung in der if-Anweisung ausgeführt, die eine der Bedingungen erfüllt. Da ich diesmal ** 7 ** eingegeben habe, gilt dies für ** Monat> = 6 und Monat <= 8 **, sodass die Verarbeitung in der if-Anweisung ausgeführt wird und "Es ist Sommer" angezeigt wird.

Ist es möglich, den Zustand von ** Monat> = 6 und Monat <= 8 ** in ** 6 <= Monat <= 8 ** zu ändern? Eine solche Notation ist tatsächlich möglich. Lassen Sie uns das Programm von 05-02-01.py </ font> wie folgt verbessern und ausführen.

.05-02-01.py


month = int(input('Bitte geben Sie die Anzahl der Monate (1-12) ein:'))

if 3 <= month <= 5:
    print('Es ist Frühling')
elif 6 <= month <= 8:
    print('Es ist Sommer')
elif 9 <= month <= 11:
    print('Es ist Herbst')
elif month == 12 or 1 <= month <= 2:
    print('Es ist Winter')
else:
    print('Dieser Monat existiert nicht.')


05-02-01.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Bitte geben Sie die Anzahl der Monate (1-12) ein: 1 </ font> Es ist Winter

Wenn überhaupt, denke ich, dass es einfacher ist, die Bedingungen des in diesem Bereich geschriebenen Formats zu erkennen. Die im aktuellen Bereich zu beschreibende Bedingung ist jedoch ** nur Python **. Bitte beachten Sie, dass Sie das Format nicht zum Schreiben in Bereichen wie C-Sprache und Java-Sprache anderer Sprachen verwenden können.

Übungsproblem

Wir haben Übungen vorbereitet. Bitte versuchen Sie es zu lösen. Verwenden Sie außerdem den in [] angegebenen Dateinamen und erstellen Sie ihn in chap05 </ font>. Sie können einen beliebigen Variablennamen angeben. [05-02-p1.py] [1] Geben Sie Ihre Größe (cm) und Ihr Gewicht (kg) ein und erstellen Sie ein Programm, um den BMI zu ermitteln. Zeigen Sie das BMI-Ergebnis unter den folgenden Bedingungen auf dem Bildschirm an.

BMI-Wert Inhalt ausgeben
18. Ausgänge "zu dünn"
18.5 oder mehr 25.Weniger als 0 Gibt "normales Gewicht" aus
25.0 oder mehr Ausgabe "Ich bin fettleibig"
  • Ursprünglich wurde es weiter in Fettleibigkeit eingeteilt, aber es wurde oben zur Vereinfachung beschrieben.

** BMI = Gewicht (kg) ÷ (Größe (m)) 2 </ sup> ** (Hinweis: Ändern Sie zuerst Ihre Höhe (cm) in Ihre Höhe (m).) </ Font> Bisher wurde beim Konvertieren einer Zeichenfolge in einen numerischen Wert diese mit der Funktion ** int ** konvertiert. Da jedoch Gewicht und Höhe ein Bruchteil anstelle einer Ganzzahl sein können, ist die Konvertierung in einem solchen Fall wie folgt. Konvertieren mit ** Float-Funktion **. ** weight = float (Eingabe ('Bitte geben Sie das Gewicht (kg) ein:')) **


05-02-p1.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Bitte geben Sie Ihre Größe (cm) ein: 184 </ font> Bitte geben Sie Ihr Gewicht (kg) ein: 77,9 </ font> Standardgewicht

Schließlich

Dieses Mal haben wir uns die Steuerungssyntax angesehen, die Bedingungen kombiniert. Wenn Sie jedoch zu lange Bedingungen schreiben, ist das Lesen schwierig, wenn Sie das Programm später warten. Halten Sie es daher auf das erforderliche Minimum.

Diese AND-, OR- und NOT-Operationen ähneln den Set-Operationen, die in der Menge von "Kapitel 4-09" angezeigt wurden. Ich werde. Bitte probieren Sie es aus.

Zurück zu [Link zum Inhaltsverzeichnis]

Recommended Posts