Wie wir in den letzten Topics gesehen haben ist das Ergebnis einer Geteiltrechnung mit / immer eine Kommazahl. Kommazahlen sind ebenfalls ein anderer Datentyp als Ganzezahlen und Strings, man nennt diesen float. Außerdem infizieren floats alle Berechnungen so, dass eine Berechnung die einen float beinhält als Ergebnis immer einen float hat. Falls wir als Ergebnis einer Geteiltrechnung einen int haben wollen können wir den // Operator verwenden.

1. Ein Programm das 10 durch 3 einmal mit float Division und einmal mit int division berechnet

Probier einmal das Programm in dein Thonny abzuschreiben und auszuführen! Was passiert hier? Was ist das Ergebnis der ersten Division und was ist das Ergebnis der zweiten?

Das Ergebnis der ersten Division ist 3.333...335 da 10 / 3 unendlich viele Nachkommastellen hat. Ein Computer hat nicht unendlich viel Speicher und muss deshalb einen Näherungswert verwenden

Die int Division mit // hat 3 als Ergebnis. Dabei wird immer abgerundet (auch bei negativen Zahlen).

Ein weiterer wichtiger Operator ist der Modulo Operator. Der Modulo Operator ist dafür da, den Rest einer Ganzzahligen Division anzugeben. Der Modulo Operator ist ein Prozentzeichen (%). Wir können uns die Rechnung des Modulo Operators anders, basierend auf Operatoren die wir bereits kennen, als die Rechnung a % b = a - (a // b * b) vorstellen.

2. Ein Programm mit
2 Modulo Beispielen

10 % 3 = 1 und 10 // 3 = 3 und 10 - 3 * 3 = 10 - 9 = 1 -> 10 geteilt durch 3 ist 3 Rest 1
7 % 5 = 2 und 7 // 5 = 1 und 7 - 5 * 1 = 7 - 5 = 2 7 geteilt durch 5 ist 1 Rest 2

Probier einmal das Programm in dein Thonny abzuschreiben und auszuführen! Der Modulo Operator ist für die meisten ein ziemlich neues Konzept, es kann sehr helfen ein wenig damit auszuprobieren.

DonateDonate here for joy in Africa.