Prüfen ob eine Zahl in Python gerade oder ungerade ist
-
Prüfen, ob eine Zahl gerade oder ungerade ist mit dem
%
Operator in Python -
Prüfen, ob eine Zahl gerade oder ungerade ist mit dem
&
Operator in Python
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.
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