Einführung
In diesem Lab lernen Sie, wie Sie in Python feststellen können, ob eine Zahl gerade oder ungerade ist. Wir beginnen damit, die grundlegenden Konzepte von geraden und ungeraden Zahlen zu verstehen. Gerade Zahlen sind ganze Zahlen, die durch 2 teilbar sind und einen Rest von 0 haben, während ungerade Zahlen einen Rest von 1 haben.
Anschließend führt das Lab Sie durch die Verwendung des Modulo-Operators (%) zur Überprüfung auf Geradheit. Sie erstellen ein Python-Skript, das eine if-Anweisung und den Modulo-Operator verwendet, um zu bestimmen und auszugeben, ob eine gegebene Zahl gerade oder ungerade ist. Das Lab enthält Schritt-für-Schritt-Anweisungen zum Erstellen des Skripts in VS Code und zum Ausführen aus dem Terminal.
Lernen Sie über gerade und ungerade Zahlen
In diesem Schritt werden wir die grundlegenden Konzepte von geraden und ungeraden Zahlen untersuchen. Das Verständnis dieser Konzepte ist für verschiedene Programmieraufgaben von entscheidender Bedeutung, einschließlich Datenvalidierung, Algorithmusdesign und Spieleentwicklung.
Was sind gerade Zahlen?
Eine gerade Zahl ist eine ganze Zahl, die genau durch 2 teilbar ist. Das bedeutet, dass wenn Sie eine gerade Zahl durch 2 teilen, der Rest immer 0 ist. Beispiele für gerade Zahlen sind: 2, 4, 6, 8, 10 und so weiter.
Was sind ungerade Zahlen?
Eine ungerade Zahl ist eine ganze Zahl, die nicht genau durch 2 teilbar ist. Wenn Sie eine ungerade Zahl durch 2 teilen, ist der Rest immer 1. Beispiele für ungerade Zahlen sind: 1, 3, 5, 7, 9 und so weiter.
Wie kann man feststellen, ob eine Zahl gerade oder ungerade ist?
In der Programmierung müssen wir oft feststellen, ob eine gegebene Zahl gerade oder ungerade ist. Python bietet eine einfache Möglichkeit, dies mit dem Modulo-Operator (%) zu tun. Der Modulo-Operator gibt den Rest einer Division zurück.
Beispielsweise ergibt 7 % 2 den Wert 1, weil wenn Sie 7 durch 2 teilen, der Rest 1 ist. Ebenso ergibt 8 % 2 den Wert 0, weil wenn Sie 8 durch 2 teilen, der Rest 0 ist.
Lassen Sie uns ein einfaches Python-Skript erstellen, um dies zu veranschaulichen:
Öffnen Sie den VS Code-Editor im WebIDE.
Erstellen Sie eine neue Datei mit dem Namen
even_odd.pyim Verzeichnis~/project.~/project/even_odd.pyFügen Sie den folgenden Code zur Datei
even_odd.pyhinzu:number = 10 if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")Dieser Code weist zunächst der Variablen
numberden Wert 10 zu. Dann verwendet er eineif-Anweisung, um zu überprüfen, ob der Rest der Division vonnumberdurch 2 gleich 0 ist. Wenn dies der Fall ist, gibt der Code aus, dass die Zahl gerade ist. Andernfalls gibt er aus, dass die Zahl ungerade ist.Führen Sie das Skript mit dem folgenden Befehl im Terminal aus:
python ~/project/even_odd.pySie sollten die folgende Ausgabe sehen:
10 is an even numberÄndern Sie nun den Wert von
numberin der Dateieven_odd.pyauf 7:number = 7 if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")Führen Sie das Skript erneut aus:
python ~/project/even_odd.pySie sollten jetzt die folgende Ausgabe sehen:
7 is an odd number
Dieses einfache Beispiel zeigt, wie man den Modulo-Operator in Python verwendet, um festzustellen, ob eine Zahl gerade oder ungerade ist. In den nächsten Schritten werden wir auf dieser Grundlage aufbauen, um komplexere Programme zu erstellen.
Verwenden Sie den Modulo-Operator
Im vorherigen Schritt haben Sie über gerade und ungerade Zahlen gelernt und wie der Modulo-Operator (%) verwendet werden kann, um festzustellen, ob eine Zahl gerade oder ungerade ist. In diesem Schritt werden wir tiefer in den Modulo-Operator eintauchen und seine verschiedenen Anwendungen untersuchen.
Verständnis des Modulo-Operators
Der Modulo-Operator (%) gibt den Rest einer Division zurück. Die Syntax lautet a % b, wobei a der Dividend (die zu teilende Zahl) und b der Divisor (die Zahl, durch die geteilt wird) ist. Das Ergebnis ist der Rest der Division.
Hier sind einige Beispiele:
7 % 2ergibt 1, weil 7 geteilt durch 2 gleich 3 mit einem Rest von 1 ist.10 % 3ergibt 1, weil 10 geteilt durch 3 gleich 3 mit einem Rest von 1 ist.15 % 5ergibt 0, weil 15 geteilt durch 5 gleich 3 mit einem Rest von 0 ist.
Anwendungen des Modulo-Operators
Der Modulo-Operator hat viele nützliche Anwendungen in der Programmierung, darunter:
- Bestimmung von Gerade oder Ungerade: Wie Sie im vorherigen Schritt gesehen haben, zeigt
number % 2 == 0an, dassnumbergerade ist, undnumber % 2 != 0zeigt an, dassnumberungerade ist. - Wraparound (Umschlag): Der Modulo-Operator kann verwendet werden, um in einem Zahlenbereich zu wrappen. Beispielsweise, wenn Sie einen Zähler haben, der die Zahlen von 0 bis 9 durchlaufen soll, können Sie den Modulo-Operator verwenden, um den Zähler auf 0 zurückzusetzen, wenn er 10 erreicht.
- Extraktion von Ziffern: Der Modulo-Operator kann verwendet werden, um die letzte Ziffer einer Zahl zu extrahieren. Beispielsweise gibt
number % 10die letzte Ziffer vonnumberzurück.
Lassen Sie uns das Skript even_odd.py ändern, um die Zahl von der Benutzereingabe zu erhalten und den Modulo-Operator zu verwenden, um zu prüfen, ob sie gerade oder ungerade ist.
Öffnen Sie die Datei
even_odd.pyim Verzeichnis~/projectmit dem VS Code-Editor.Ändern Sie den Code wie folgt:
number_str = input("Enter an integer: ") number = int(number_str) if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")In diesem Code verwenden wir die Funktion
input(), um den Benutzer aufzufordern, eine Ganzzahl einzugeben. Die Funktioninput()gibt eine Zeichenkette zurück, daher verwenden wir die Funktionint(), um die Zeichenkette in eine Ganzzahl umzuwandeln. Dann verwenden wir den Modulo-Operator, um zu prüfen, ob die Zahl gerade oder ungerade ist, wie zuvor.Führen Sie das Skript mit dem folgenden Befehl aus:
python ~/project/even_odd.pyDas Skript wird Sie auffordern, eine Ganzzahl einzugeben. Geben Sie eine Zahl ein und drücken Sie die Eingabetaste. Beispielsweise:
Enter an integer: 15Das Skript wird dann ausgeben, ob die Zahl gerade oder ungerade ist:
15 is an odd numberVersuchen Sie, das Skript mit verschiedenen Zahlen auszuführen, um zu sehen, wie der Modulo-Operator funktioniert.
Dieses Beispiel zeigt, wie man den Modulo-Operator mit Benutzereingaben verwendet, um festzustellen, ob eine Zahl gerade oder ungerade ist. Im nächsten Schritt werden wir die Fehlerbehandlung hinzufügen, um sicherzustellen, dass der Benutzer eine gültige Ganzzahl eingibt.
Stellen Sie sicher, dass die Zahl eine Ganzzahl ist
Im vorherigen Schritt haben Sie gelernt, wie Sie die Funktion input() verwenden, um Benutzereingaben zu erhalten, und die Funktion int(), um die Eingabe in eine Ganzzahl umzuwandeln. Wenn der Benutzer jedoch etwas eingibt, das keine Ganzzahl ist (z. B. "hello" oder "3.14"), wird die Funktion int() eine ValueError-Ausnahme auslösen, was dazu führt, dass das Programm abstürzt. In diesem Schritt werden wir die Fehlerbehandlung hinzufügen, um sicherzustellen, dass der Benutzer eine gültige Ganzzahl eingibt.
Fehlerbehandlung mit try-except
Python bietet einen try-except-Block, um Ausnahmen zu behandeln. Der Code im try-Block wird ausgeführt. Wenn eine Ausnahme auftritt, wird der Code im except-Block ausgeführt.
Hier ist die grundlegende Syntax:
try:
## Code that might raise an exception
except ValueError:
## Code to handle the ValueError exception
Wenn in dem try-Block ein ValueError auftritt, wird der Code im except ValueError-Block ausgeführt.
Lassen Sie uns das Skript even_odd.py ändern, um einen try-except-Block zu verwenden, um potenzielle ValueError-Ausnahmen zu behandeln.
Öffnen Sie die Datei
even_odd.pyim Verzeichnis~/projectmit dem VS Code-Editor.Ändern Sie den Code wie folgt:
while True: number_str = input("Enter an integer: ") try: number = int(number_str) break ## Exit the loop if the input is a valid integer except ValueError: print("Invalid input. Please enter an integer.") if number % 2 == 0: print(number, "is an even number") else: print(number, "is an odd number")In diesem Code haben wir eine
while True-Schleife hinzugefügt, die den Benutzer so lange zur Eingabe auffordert, bis eine gültige Ganzzahl eingegeben wird. Innerhalb der Schleife haben wir einentry-except-Block. Dertry-Block versucht, die Eingabe des Benutzers in eine Ganzzahl umzuwandeln. Wenn die Umwandlung erfolgreich ist, beendet diebreak-Anweisung die Schleife. Wenn einValueErrorauftritt (das heißt, der Benutzer hat etwas eingegeben, das keine Ganzzahl ist), gibt derexcept-Block eine Fehlermeldung aus, und die Schleife wird fortgesetzt.Führen Sie das Skript mit dem folgenden Befehl aus:
python ~/project/even_odd.pyWenn Sie einen nicht ganzzahligen Wert wie "hello" eingeben, sehen Sie die folgende Ausgabe:
Enter an integer: hello Invalid input. Please enter an integer. Enter an integer:Das Skript wird Sie so lange zur Eingabe auffordern, bis Sie eine gültige Ganzzahl eingeben. Sobald Sie eine gültige Ganzzahl wie 12 eingeben, gibt das Skript aus, ob die Zahl gerade oder ungerade ist:
Enter an integer: 12 12 is an even number
Dieses Beispiel zeigt, wie man einen try-except-Block verwendet, um potenzielle ValueError-Ausnahmen zu behandeln, wenn Benutzereingaben in eine Ganzzahl umgewandelt werden. Dies macht Ihr Programm robuster und benutzerfreundlicher.
Zusammenfassung
In diesem Lab haben wir die grundlegenden Konzepte von geraden und ungeraden Zahlen untersucht und verstanden, dass gerade Zahlen durch 2 teilbar sind und einen Rest von 0 haben, während ungerade Zahlen bei der Division durch 2 einen Rest von 1 haben.
Wir haben den Modulo-Operator (%) in Python verwendet, um festzustellen, ob eine Zahl gerade oder ungerade ist. Ein einfaches Python-Skript wurde erstellt und ausgeführt, um dies zu demonstrieren. Dabei wird überprüft, ob der Rest einer Zahl bei der Division durch 2 gleich 0 ist, um gerade Zahlen zu identifizieren.



