Lektion 7 besteht aus drei Teilen A, B und C, die in beliebiger Reihenfolge bearbeitet werden können.
Bislang haben wir mathematische Berechnungen angestellt, indem wir Pythons Operatoren +
, -
, *
, /
und die Funktionen max
und min
verwendet haben. In dieser Lektion werden wir einige weitere Operatoren und Funktionen sehen, und wir werden lernen, wie wir komplexere Berechnungen anstellen können.
Mathematische Operatoren
Wir haben bereits gesehen, wie man Operatoren verwendet, um zu addieren (a + b
), subtrahieren (a - b
), multiplizieren (a * b
) und dividieren (a / b
). Wir werden jetzt mehr über drei zusätzliche Operatoren lernen.
- Der Potenz-Operator
a ** b
berechnetab
(a
, das insgesamtb
mal mit sich selbst multipliziert wird). Zum Beispiel ergibt2 ** 3
das Ergebnis8
(nämlich 2*2*2). - Der ganzzahlige Divisions-Operator
a // b
berechnetden "Quotienten" von
a
dividiert durchb
und rundet das Ergebnis auf die nächst-niedrigere ganze Zahl. Sinda
undb
beides positive Zahlen (größer 0), bedeutet das, dass alles hinter dem Komma gestrichen wird. So hat zum Beispiel14 // 3
das Ergebnis4
. - Der Teilungsrest-Operator
a % b
(auch: Modulo-Operator) berechnet den Rest, wenna
durchb
dividiert wird. So hat zum Beispiel14 % 3
das Ergebnis2
.
Der Modulo-Operator wird für eine Vielzahl an Aufgaben verwendet. Er kann verwendet werden, um Fragen wie die folgenden zu beantworten:
- Wenn es jetzt 10 Uhr ist, wie spät wird es in 100 Stunden sein? (Hier wird der Rest einer Division durch 12 benötigt; es muss also modulo 12 gerechnet werden.)
- Wird das Jahr 2032 ein Schaltjahr sein? (Hier muss modulo 4, 100 und 400 gerechnet werden.)
Das Testen von Schaltjahren ist ein Beispiel für die Überprüfung von Teilbarkeit. In der nächsten Übung bitten wir dich, ein Programm zu schreiben, das ganz allgemein die Teilbarkeit überprüft.
Mathematische Funktionen
Python kann die meisten mathematischen Funktionen berechnen, die sich auf einem wissenschaftlichen Taschenrechner befinden.
sqrt(x)
berechnet die Quadratwurzel der Zahlx
.exp(x)
undlog(x)
sind die Exponentialfunktion und der natürliche Logarithmus.sin(x)
,cos(x)
,tan(x)
und andere trigonometrische Funktionen sind verfügbar.pi
, die mathematische Konstante3.1415...
, gehört ebenfalls dazu.
Wenn du die trigonometrischen Funktionen von Python verwendest, musst du den Winkel x als Radiant angeben, nicht in Grad. |
Python beinhaltet eine derart große Menge an Funktionen, dass sie in Gruppen organisiert werden, die Module genannt werden. Die oben gezeigten Funktionen gehören zum math
Modul. Bevor du eine Funktion eines Moduls verwendest, musst du das Modul importieren, wie du es im Beispiel unten siehst. Um eine Funktion eines Moduls zu verwenden, musst du den Modulnamen eingeben, dann einen Punkt, und dann den Namen der Funktion.
Alles zusammenfügen
Wie du in der vorhergehenden Übung schon gesehen hast, kann man mathematische Ausdrücke zusammenbauen, indem man Operatoren kombiniert. Python wertet die Ausdrücke aus, indem es dieselbe Operatorrangfolge verwendet, die wir im Matheunterricht gelernt haben:
Klammern zuerst, dann Exponenten, darauf folgen Division und Multiplikation, dann schließlich Addition und Subtraktion,
die wir uns mit dem Akronym "KEDMAS" merken können. Division von Ganzzahlen und Modulo passen in die Kategorie "Division und Multiplikation". So wird zum Beispiel der Ausdruck
3 * (1 + 2) ** 2 % 4ausgewertet, indem die Addition in Klammern ausgeführt wird (1 + 2 = 3), dann der Exponent (3 ** 2 = 9) , dann die Multiplikation (3 * 9 = 27), und schließlich Modulo, so dass das Ergebnis 27 % 4 =
3
lautet.
6 - 52 // 5 ** 2
Division von ganzen Zahlen mit negativen Zahlen: Die Ausdrücke a // b
und int(a / b)
sind gleichwertig, wenn a
und b
positiv sind. Wenn jedoch a
negativ ist, verwendet a // b
die Option "gegen negativ unendlich runden" und int(a / b)
verwendet "gegen 0 runden."
Ganze Zahlen und Gleitpunktzahlen
Das Resultat eines mathematischen Ausdrucks ist eine Zahl. Wie wir schon zuvor gesehen haben, kann eine Zahl in Python einen dieser zwei Typen haben: int
oder float
. Der Typ int
repräsentiert ganze Zahlen (Englisch: integers), sowohl positive als auch negative, die so groß sein können, wie du willst.
Python akzeptiert keine Zahlen, die in der Form 1 000 000 oder 1,000,000 geschrieben werden. Tippe statt dessen 1000000. |
Der Typ float
repräsentiert Dezimalzahlen - wobei die echten mathematischen Dezimalzahlen im Computer nur angenähert werden können; deshalb sprechen wir lieber von Gleitpunktzahlen (Englisch: floating point numbers). Genau wie ein einfacher Taschenrechner für die Zahl 1/3 den Näherungswert 0.33333333
abspeichert, macht es auch Python mit Dezimalzahlen.
Weil Python Näherungswerte von Dezimalzahlen verwendet, kann es sein, dass manche Gleichungen, die mathematisch korrekt sind, unter Umständen in Python nicht gelten.
Aus diesem Grund ist es wichtig, einen gewissen Spielraum für diese Näherungswerte zuzulassen, wenn du Zahlen des float Typs vergleichst. So wird im internen Auswertungssystem dieser Seite eine float -Ausgabe als korrekt bewertet, wenn sie näherungsweise gleich der erwarteten Antwort ist. |
Wir beenden diese Lektion mit einigen Übungen.
Glückwunsch! Nachdem du diese Übungen bewältigt hast, bist du bereit, dich anderen Lektionen zuzuwenden!