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.
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 |
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 |
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 |
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.
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" |
** 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
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.
Recommended Posts