[Python] Kapitel 05-01 Steuerungssyntax (Vergleichsoperator und bedingte Verzweigung)

[Python] Kapitel 05-01 Vergleichsoperatoren und bedingte Verzweigung

In diesem Kapitel erfahren Sie mehr über die Steuerungssyntax. Die Programme, die Sie bisher geschrieben haben, wurden grundsätzlich in der Reihenfolge von oben verarbeitet und in der richtigen Reihenfolge ausgeführt.

Wie in unserem Leben treffen wir jedoch normalerweise Entscheidungen, während wir Entscheidungen treffen. Zum Beispiel "ausgehen, wenn das Wetter sonnig ist" und "drinnen verbringen, wenn das Wetter regnet".

Sie können den auszuführenden Prozess auswählen, indem Sie in einem Computerprogramm dieselbe Beurteilung vornehmen. Sie müssen jedoch einen neuen Operator namens Vergleichsoperator lernen, um die Bedingung anzugeben. Der Vergleichsoperator ist nicht so schwierig, aber die Notation unterscheidet sich von der Mathematik. Bitte behalten Sie dies als Punkt bei.

Vergleichsoperator ~ Zustandsbeschreibung ~

Zunächst werde ich die wichtigen Vergleichsoperatoren bei der bedingten Verzweigung erläutern. Zum Beispiel sind die folgenden Formeln natürlich gleich.

5 = 2 + 3

Um zu überprüfen, ob dies in einem Python-Programm gleich ist, schreiben Sie: Geben Sie den folgenden Code in die ** Python Console ** ein. Bitte schreiben Sie zusätzlich zwei aufeinanderfolgende ** = (gleich). ** ** **

>>> 5 == 2 + 3
True

Ich versuche festzustellen, ob das Hinzufügen von 2 und 3 5 ergibt. Natürlich wird es ** wahr ** sein. Obwohl es als ** "==" ** beschrieben wird, ist dies ein Vergleichsoperator. Die Beurteilung erfolgt durch Vergleich der linken und der rechten Seite. Bitte beachten Sie, dass es sich um eine Zuweisung handelt, wenn Sie ** "=" (gleich) ** setzen. (*) </ font> In Python ist "==" ein Vergleichsoperator, der Gleichheit bedeutet. Beachten Sie jedoch, dass dies von der Programmiersprache abhängt.

Wagen wir nun die Eingabe verschiedener Werte. Geben Sie den folgenden Code in die ** Python Console ** ein.

>>> 5 == 1 + 3
False

Ich versuche festzustellen, ob das Ergebnis der Addition von 1 und 3 5 ist. Natürlich wird es ** Falsch ** sein.

Es gibt andere Arten von Vergleichsoperatoren wie folgt.

Vergleichsoperator Bedeutung Beispiel Bedeutung des Beispiels
== gleich x == 5 Sind x und 5 gleich??
!= Nicht gleich x != 5 Sind x und 5 nicht gleich??
> Größer x > 5 Ist x größer als 5?
>= das ist alles x >= 5 Ist x 5 oder mehr??
< Weniger als (weniger als) x < 5 Ist x kleiner als 5?
<= Weniger als x <= 5 Ist x 5 oder weniger??

Das Folgende ist ein Ausführungsbeispiel. Lassen Sie uns tatsächlich einen anderen Wert ersetzen und es versuchen.

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

Sie können auch Zeichenketten und Listen vergleichen.

>>> 'book' == 'book'
True
>>> 'book' != 'book'
False
>>> L1 = [1, 2, 3]
>>> L2 = [1, 2, 3]
>>> L1 == L2
True

Bedingte Verzweigung (if-Anweisung)

Hier werden wir auf die bedingte Verzweigung eingehen. Um einen bedingten Zweig zu schreiben, schreiben Sie eine ** if-Anweisung **.

Die Grammatik wird wie folgt beschrieben.

wenn Bedingung:
Verarbeitung, die ausgeführt werden soll, wenn die Bedingungen erfüllt sind

Dies "wenn die Bedingung erfüllt ist" bedeutet, wenn das Ergebnis des Vergleichsoperators (dh die Bedingung) ** True ** ist.

Vergessen Sie nicht ** ":" ** (Doppelpunkt) nach dem bedingten Ausdruck. Ohne dies tritt ein Fehler auf.

Vor dem "Prozess, der ausgeführt werden soll, wenn die Bedingungen erfüllt sind" wird die "Tabulatortaste" verwendet, um ** einzurücken (niedriger) **. Vergiss das auch nicht. Ohne dies kann der Inhalt der ** if-Anweisung ** nicht verstanden werden. (Details werden unten beschrieben)

Grammatisches Schreiben macht es schwierig, deshalb werde ich es erklären, während ich das Programm tatsächlich schreibe. Die diesmal beschriebenen Programme sind wie folgt. Geben Sie einen ganzzahligen Wert über die Tastatur ein. Wenn dieser positiv ist, erstellen Sie ein Programm mit der Angabe "Ein positiver Wert wurde eingegeben". </ font>

Zunächst möchte ich die Bedingungen mit einem ** Flussdiagramm ** ausdrücken. Das Zeichnen eines Flussdiagramms erleichtert es jedem, den Inhalt des Programms zu verstehen.

image.png

Lassen Sie uns ein darauf basierendes Programm erstellen. Ich werde ein Programm erstellen, aber dieses Mal werde ich zum ersten Mal seit einiger Zeit einen Ordner und eine .py-Datei erstellen, um das Programm in den Editor einzugeben. Erstellen Sie für diese Datei einen Ordner chap05 </ font> und erstellen Sie darin eine Datei mit dem Namen 05-01-01.py </ font>. Machen. Wenn Sie vergessen haben, wie es erstellt wird, überprüfen Sie es bitte unter "Kapitel 01-03".

05-01-01.py


#Geben Sie einen ganzzahligen Wert ein. Wenn dies unverändert bleibt, handelt es sich um eine Zeichenfolge. Konvertieren Sie sie daher mit der Funktion int in einen numerischen Wert
n = int(input('Bitte geben Sie einen ganzzahligen Wert ein:'))

#Drucken Sie mit der Druckfunktion, wenn der Wert positiv ist, dh wenn n größer als 0 ist
if n > 0:
    print('Ein positiver ganzzahliger Wert wurde eingegeben')

Nachdem wir das Programm geschrieben haben, führen wir es aus.

[Ausführungsergebnis] </ font> Geben Sie einen ganzzahligen Wert ein: 5 </ font> Ein positiver ganzzahliger Wert wurde eingegeben

** "5> 0 oder nicht" ** wird an der Stelle von ** n> 0 ** in if beurteilt. Da es ** True ** ist, wird natürlich das Innere der if-Anweisung ausgeführt.

Über Einzug

Ich habe bereits erwähnt, dass der Inhalt der if-Anweisung eingerückt werden sollte. Lassen Sie uns etwas tiefer in diese Sache eintauchen. Bitte fügen Sie den folgenden Code hinzu.

05-01-01.py


#Geben Sie einen ganzzahligen Wert ein. Wenn dies unverändert bleibt, handelt es sich um eine Zeichenfolge. Konvertieren Sie sie daher mit der Funktion int in einen numerischen Wert
n = int(input('Bitte geben Sie einen ganzzahligen Wert ein:'))

#Drucken Sie mit der Druckfunktion, wenn der Wert positiv ist, dh wenn n größer als 0 ist
if n > 0:
    print('Ein positiver ganzzahliger Wert wurde eingegeben')
    print(f'Jetzt du{n}Ich trat ein.')

Ich werde einen anderen Code schreiben. Erstellen Sie eine Datei mit dem Namen 05-01-02.py </ font> im Ordner chap05 </ font>. Der einzige Unterschied besteht darin, dass Sie die letzte Ausgabe nicht eingerückt haben.

05-01-02.py


#Geben Sie einen ganzzahligen Wert ein. Wenn dies unverändert bleibt, handelt es sich um eine Zeichenfolge. Konvertieren Sie sie daher mit der Funktion int in einen numerischen Wert
n = int(input('Bitte geben Sie einen ganzzahligen Wert ein:'))

#Drucken Sie mit der Druckfunktion, wenn der Wert positiv ist, dh wenn n größer als 0 ist
if n > 0:
    print('Ein positiver ganzzahliger Wert wurde eingegeben')
print(f'Jetzt du{n}Ich trat ein.')

Bitte jeweils ausführen. In diesem Fall geben Sie bitte einen negativen Wert ** ein.


05-01-01.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Geben Sie einen ganzzahligen Wert ein: -1 </ font>


05-01-02.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Geben Sie einen ganzzahligen Wert ein: -1 </ font> Jetzt haben Sie -1 eingegeben.

Hast du den Unterschied gesehen? Da der eingegebene numerische Wert ** n = -1 ** ist, wird bei ** n> 0 **, ** -1> 0 ** und ** False ** das Innere der if-Anweisung verarbeitet. Wird nicht sein. Bis zu diesem Punkt ist es beiden Programmen gemeinsam.

In 05-01-01.py </ font> werden die beiden Zeilen in der if-Anweisung eingerückt, sodass sie diesmal als Verarbeitung in der if-Anweisung ** behandelt werden. Wurde nicht verarbeitet. In 05-01-02.py </ font> wird einer von ihnen nicht eingerückt, sodass die if-Anweisung endet und ** als Prozess außerhalb der if-Anweisung ** ausgeführt wird. Du wirst dort sein.

Es ist schwierig, in Buchstaben zu schreiben. Wenn Sie also ein Flussdiagramm zeichnen, sind die Unterschiede wie folgt. image.png

Bedingte Verzweigung (if-else-Anweisung)

In den Programmen, die ich bisher geschrieben habe, wird bei Eingabe eines positiven Werts "Ein positiver ganzzahliger Wert wurde eingegeben" ausgegeben. Was aber, wenn ein negativer Wert eingegeben wird? Ich habe tatsächlich früher -1 eingegeben, aber es wurde nicht gesagt, dass ein negativer ganzzahliger Wert eingegeben wurde.

Mit anderen Worten, es wird nichts darüber geschrieben, was zu tun ist, wenn die Bedingungen nicht erfüllt sind. Wenn Sie eine solche Bedingung schreiben möchten, verwenden Sie ** else **. Die Syntax lautet wie folgt.

wenn Bedingung:
Verarbeitung, die ausgeführt werden soll, wenn die Bedingungen erfüllt sind
else:
Was passiert, wenn die Bedingungen nicht erfüllt sind?

Schreiben Sie das Programm tatsächlich wie folgt. Erstellen Sie eine Datei 05-01-03.py </ font> im Ordner chap05 </ font> und geben Sie den folgenden Code ein Bitte gib mir.

05-01-03.py


#Geben Sie einen ganzzahligen Wert ein. Wenn dies unverändert bleibt, handelt es sich um eine Zeichenfolge. Konvertieren Sie sie daher mit der Funktion int in einen numerischen Wert
n = int(input('Bitte geben Sie einen ganzzahligen Wert ein:'))

#Drucken Sie mit der Druckfunktion, wenn der Wert positiv ist, dh wenn n größer als 0 ist
if n > 0:
    print('Ein positiver ganzzahliger Wert wurde eingegeben')
else:  ##Ausgabe mit der folgenden Druckfunktion, wenn die oben genannten Bedingungen nicht erfüllt sind
    print('Negativer ganzzahliger Wert eingegeben')
print(f'Jetzt du{n}Ich trat ein.')


05-01-03.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Geben Sie einen ganzzahligen Wert ein: -1 </ font> Negativer ganzzahliger Wert eingegeben Jetzt haben Sie -1 eingegeben.

Zur Erklärung habe ich diesmal ** n = -1 ** als Eingabewert eingegeben. Daher ist in der Bedingung ** - 1> 0 **, also ** False **, und die Bedingung ist nicht erfüllt. Daher wird die ** else ** -Seite ausgeführt und "Ein negativer ganzzahliger Wert wurde eingegeben" ausgegeben.

Bedingte Verzweigung (if-elif-else-Anweisung)

Versuchen Sie es jetzt erneut in diesem Zustand und geben Sie ** 0 ** als Eingabewert ein. Dann ist das Ergebnis wie folgt.


05-01-03.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Geben Sie einen ganzzahligen Wert ein: 0 </ font> Negativer ganzzahliger Wert eingegeben Jetzt haben Sie 0 eingegeben.

Obwohl ** 0 ** weder eine positive noch eine negative Zahl ist, wird "Ein negativer ganzzahliger Wert wurde eingegeben" ausgegeben. Wenn ** 0 ** eingegeben wird, werde ich versuchen, es so zu verbessern, dass "0 wurde eingegeben" ausgegeben wird.

Aber dann gibt es drei Zweige. Wie drückst du es aus? Verwenden Sie zur Lösung dieses Problems die Anweisung ** elif **. Die Syntax lautet wie folgt.

wenn Bedingung 1:
Prozess ausgeführt, wenn Bedingung 1 erfüllt ist
elif Bedingung 2:
Prozess ausgeführt, wenn Bedingung 2 nicht erfüllt ist, ohne Bedingung 1 zu erfüllen
else:
Verarbeitung, die ausgeführt werden soll, wenn Bedingung 2 nicht erfüllt ist

Lassen Sie uns das Programm tatsächlich schreiben. Erstellen Sie eine Datei 05-01-04.py </ font> im Ordner chap05 </ font> und geben Sie den folgenden Code ein Bitte gib mir.

05-01-04.py


#Geben Sie einen ganzzahligen Wert ein. Wenn dies unverändert bleibt, handelt es sich um eine Zeichenfolge. Konvertieren Sie sie daher mit der Funktion int in einen numerischen Wert
n = int(input('Bitte geben Sie einen ganzzahligen Wert ein:'))

#Drucken Sie mit der Druckfunktion, wenn der Wert positiv ist, dh wenn n größer als 0 ist
if n > 0:
    print('Ein positiver ganzzahliger Wert wurde eingegeben')
elif n < 0:  ##Ausgabe mit Druckfunktion, obwohl n kleiner als 0 ist
    print('Negativer ganzzahliger Wert eingegeben')
else:  ##n>Aber n<Wenn es nicht 0 ist (dh wenn es 0 ist)
    print('0 wurde eingegeben')
print(f'Jetzt du{n}Ich trat ein.')

Lassen Sie es uns hier in einem Flussdiagramm ausdrücken. Ich denke es ist wie folgt. Folgen wir dem Prozess, indem wir das Programm und das Flussdiagramm vergleichen. image.png

Ü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-01-p1.py] [1] Erstellen Sie ein Programm, das bestimmt, ob die eingegebene Ganzzahl gerade oder ungerade ist. (Hinweis: Gerade wird durch 2 geteilt, um 0 zu erhalten, und ungerade wird durch 2 geteilt, um 1 zu erhalten).
05-01-p1.py Ausführungsergebnis

[Ausführungsergebnis] </ font> Bitte geben Sie eine Ganzzahl ein: 1 </ font> Ist ungerade

[05-01-p2.py] [2] Lies einen positiven ganzzahligen Wert und dividiere ihn durch 3, "der Wert ist durch 3 teilbar", "der Wert ist mehr als 1, wenn er durch 3 geteilt wird", "der Wert wird durch 3 geteilt" Erstellen Sie ein Programm, das einen von "und 2 Überschuss" anzeigt.
05-01-p2.py Ausführungsergebnis
> [Ausführungsergebnis] Bitte geben Sie eine Ganzzahl ein: 256 Dieser Wert ist größer als 1, wenn er durch 3 geteilt wird

Schließlich

Heute habe ich erfahren, ob Anweisungen, die für die Programmierung wichtig sind. Wenn Aussagen häufig als selbstverständlich erscheinen, damit Programme in Zukunft gelernt werden können. Jedes Programm hat ein Bedingungsurteil, denken Sie also daran.

Zurück zu [Link zum Inhaltsverzeichnis]

Recommended Posts