Prüfen ob eine Zahl in Python gerade oder ungerade ist

Muhammad Maisam Abbas 30 Januar 2023
  1. Prüfen, ob eine Zahl gerade oder ungerade ist mit dem % Operator in Python
  2. Prüfen, ob eine Zahl gerade oder ungerade ist mit dem & Operator in Python
Prüfen ob eine Zahl in Python gerade oder ungerade ist

In diesem Tutorial werden die Methoden erläutert, mit denen in Python überprüft werden kann, ob eine Zahl gerade oder ungerade ist.

Prüfen, ob eine Zahl gerade oder ungerade ist mit dem % Operator in Python

Eine ganze Zahl, die vollständig durch 2 teilbar ist, wird per Definition als gerade Zahl bezeichnet. Mit anderen Worten, eine ganze Zahl ist gerade, wenn wir nach der Division durch 2 0 als Rest erhalten. In der Mathematik sind alle ganzen Zahlen außer geraden Zahlen ungerade Zahlen. Nach einer anderen Definition heißen gerade Zahlen gerade, weil wir sie gleichmäßig in zwei Hälften teilen können. Zum Beispiel ist 10 eine gerade Zahl, weil wir 10 gleichmäßig in zwei Hälften von 5 teilen können. Im Gegensatz dazu kann 11 nicht in zwei ganze gleiche Zahlen geteilt werden, weil 11 eine ungerade Zahl ist.

In Python teilt der Moduloperator % die erste Zahl durch die zweite Zahl und gibt uns den Rest der Division. Es gibt eine Möglichkeit, zu bestimmen, ob eine Zahl ungerade oder gerade ist, indem überprüft wird, ob der Rest nach der Division gleich 0 ist oder nicht. Der folgende Code-Schnipsel zeigt uns, wie man mit dem Modulo-Operator % prüft, ob eine Zahl gerade oder ungerade ist.

def check(num):
    if num % 2 == 0:
        print("even")
    else:
        print("odd")


check(22)

Ausgabe:

even

Wir haben den check(num) definiert, der mit Hilfe des Operators % prüft, ob die num vollständig durch 2 teilbar ist. Ist der Rest gleich 0, ist die Zahl gerade. Wenn der Rest nicht 0 ist, ist die Zahl ungerade.

Prüfen, ob eine Zahl gerade oder ungerade ist mit dem & Operator in Python

Eine weitere clevere Methode, um festzustellen, ob eine Zahl gerade oder ungerade ist, ist die Verwendung des [bitweisen AND-Operators &]. Wie wir alle wissen, wird alles im Computer in Form von Einsen und Nullen, also binärer Sprache, gespeichert. Der bitweise UND-Operator & wandelt die Werte in binäre Werte um und führt dann an jedem Bit des binären Ausdrucks eine UND-Operation durch.

Der Binärwert der Dezimalzahl 11 ist beispielsweise (1011) und der Dezimalwert 1 ist (0001). Wenn wir diese beiden Dezimalzahlen bitweise und operieren, nimmt der &-Operator jedes Bit in beiden Zahlen, führt den AND-Operator für sie aus und gibt die Ergebnisse Bit für Bit zurück. Im obigen Fall wäre der zurückgegebene Wert (0001), was einer Dezimalzahl 1 entspricht.

Eine weitere interessante Tatsache an diesem Phänomen ist, dass wenn wir die bitweise UND-Verknüpfung einer geraden Zahl und 1 nehmen, das Ergebnis immer 0 wäre. Andernfalls, wenn wir die bitweise UND-Verknüpfung einer ungeraden Zahl und 1 nehmen, wäre das Ergebnis immer 1.

Der folgende Beispielcode zeigt, wie wir mit dem bitweisen AND-Operator & prüfen können, ob eine Zahl ungerade oder gerade ist.

def check(num):
    if num & 1 == 0:
        print("even")
    else:
        print("odd")


check(33)

Ausgabe:

odd

Wir haben den check(num) definiert, der prüft, ob die bitweise UND-Verknüpfung von num und 1 gleich 0 ist oder nicht. Wenn das Ergebnis gleich 0 ist, ist die Zahl gerade. Wenn das Ergebnis nicht 0 ist, ist die Zahl ungerade.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Python Math