Wie man prüft, ob eine Zahl in Python gerade ist

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") subgraph Lab Skills python/numeric_types -.-> lab-559548{{"Wie man prüft, ob eine Zahl in Python gerade ist"}} python/type_conversion -.-> lab-559548{{"Wie man prüft, ob eine Zahl in Python gerade ist"}} python/conditional_statements -.-> lab-559548{{"Wie man prüft, ob eine Zahl in Python gerade ist"}} python/catching_exceptions -.-> lab-559548{{"Wie man prüft, ob eine Zahl in Python gerade ist"}} end

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:

  1. Öffnen Sie den VS Code-Editor im WebIDE.

  2. Erstellen Sie eine neue Datei mit dem Namen even_odd.py im Verzeichnis ~/project.

    ~/project/even_odd.py
  3. Fügen Sie den folgenden Code zur Datei even_odd.py hinzu:

    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 number den Wert 10 zu. Dann verwendet er eine if-Anweisung, um zu überprüfen, ob der Rest der Division von number durch 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.

  4. Führen Sie das Skript mit dem folgenden Befehl im Terminal aus:

    python ~/project/even_odd.py

    Sie sollten die folgende Ausgabe sehen:

    10 is an even number
  5. Ändern Sie nun den Wert von number in der Datei even_odd.py auf 7:

    number = 7
    if number % 2 == 0:
        print(number, "is an even number")
    else:
        print(number, "is an odd number")
  6. Führen Sie das Skript erneut aus:

    python ~/project/even_odd.py

    Sie 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 des Modulo-Operators

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 % 2 ergibt 1, weil 7 geteilt durch 2 gleich 3 mit einem Rest von 1 ist.
  • 10 % 3 ergibt 1, weil 10 geteilt durch 3 gleich 3 mit einem Rest von 1 ist.
  • 15 % 5 ergibt 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 == 0 an, dass number gerade ist, und number % 2 != 0 zeigt an, dass number ungerade 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 % 10 die letzte Ziffer von number zurü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.

  1. Öffnen Sie die Datei even_odd.py im Verzeichnis ~/project mit dem VS Code-Editor.

  2. Ä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 Funktion input() gibt eine Zeichenkette zurück, daher verwenden wir die Funktion int(), 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.

  3. Führen Sie das Skript mit dem folgenden Befehl aus:

    python ~/project/even_odd.py

    Das Skript wird Sie auffordern, eine Ganzzahl einzugeben. Geben Sie eine Zahl ein und drücken Sie die Eingabetaste. Beispielsweise:

    Enter an integer: 15

    Das Skript wird dann ausgeben, ob die Zahl gerade oder ungerade ist:

    15 is an odd number

    Versuchen 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.

  1. Öffnen Sie die Datei even_odd.py im Verzeichnis ~/project mit dem VS Code-Editor.

  2. Ä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 einen try-except-Block. Der try-Block versucht, die Eingabe des Benutzers in eine Ganzzahl umzuwandeln. Wenn die Umwandlung erfolgreich ist, beendet die break-Anweisung die Schleife. Wenn ein ValueError auftritt (das heißt, der Benutzer hat etwas eingegeben, das keine Ganzzahl ist), gibt der except-Block eine Fehlermeldung aus, und die Schleife wird fortgesetzt.

  3. Führen Sie das Skript mit dem folgenden Befehl aus:

    python ~/project/even_odd.py

    Wenn 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.