Programmierkurs
für Naturwissenschaftler/innen

Arithmetische Operatoren

In diesem Abschnitt lernen Sie die arithmetischen Operatoren kennen.

Grundlegende arithmetische Operationen

Wir haben bereits eine Addition in Variablen verwendet.

Die vier arithmetischen Operationen sind jeweils:

  • +

  • -

  • * (Multiplikation)

  • / (Division)

Es gibt auch die folgenden Operatoren:

  • // (Bodenteilung)

  • % (Rest)

Zum Beispiel gibt

print(5 // 3)

den abgerundeten Quotient aus 5 geteilt durch 3 als 1 aus, und

print(5 % 3)

gibt den Rest von 5 geteilt durch 3 als 2 aus.

Die Potenzierung kann berechnet werden mit:

  • **

(Beachten Sie, dass einige Programmiersprachen kein ** haben oder ein anderes Symbol verwenden). Zum Beispiel gibt

print(2 ** 3)

8, die dritte Potenz von 2 (nämlich $2^3$), aus. Man muss beachten, dass -2 ** 4 mehrdeutig ist, ob es sich um $-2$ hoch $4$ oder $2$ hoch $4$ multipliziert mit $-1$ handelt. Deshalb ist diese Schreibweise sollte vermieden werden. In diesem Fall sollten Sie (-2) ** 4 ($= 16$) oder -(2 ** 4) ($=-16$) schreiben.

* und ** sind programmspezifische Schreibweisen und sollten in Protokollen oder anderen Dokumenten bzw. Diagrammen usw. nicht verwendet werden.

Versuchen Sie, eine Berechnung mit den sieben oben eingeführten Operatoren +, -, *, /, //, % und ** durchzuführen.

Zum Beispiel:

print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3)
print(10 // 3)
print(10 % 3)
print(10 ** 3)

Ergebnis

() kann verwendet werden, um Prioritäten zu ändern oder zu klären oder um Mehrdeutigkeiten zu vermeiden. Für diese Zwecke können jedoch weder [] noch {} verwendet werden.

print(2 * (3 + 4))
print((2 * 3) + 4)
print((-2) ** 3)

Das erste ist ein Beispiel, dass $2 \times (3 + 4)$ statt $2 \times 3 + 4$ berechnen wird, d. h. wird die Addition zuerst berechnet werden.

Die zweite ist gleichbedeutend mit print(2 * 3 + 4), also ohne Klammern. Mit anderen Worten: Die Klammern sind in diesem Fall nicht notwendig, aber in Ordnung. Dies ist ein Beispiel dafür, dass es in Ordnung ist, zusätzliche Klammern zu setzen, solange sich die öffnenden und schließenden Klammern ohne Über- oder Unterschreitung entsprechen. Dieses Beispiel ist selbsterklärend und macht nicht viel Sinn, aber in Praxis könnten Sie beim Schreiben komplexerer Bedingungen solche Klammern (die nicht wirklich notwendig sind) verwenden, um die Priorität eindeutig anzuzeigen.

Das dritte Beispiel ist das, das wir bereits gesehen haben.

Schreiben Sie ein Programm, das die folgenden Berechnungen ausgibt.

$$ \begin{align} & 5 + 3 \\ & 3 - 10 \\ & 20 - ( 3 \times 4 ) \\ & 5 \times (-3) \\ & 5 + \left\{ \frac{3}{4} \times (4 - 2) \right\} \\ & 2^{-3} \end{align} $$

Ergebnis

Berechnungen mit Variablen

Bei der Zuweisung an eine Variable können Sie statt einer Zahl auch einen Ausdruck schreiben.

a = 10 + 20
b = 50 / 3

Sie können auch Berechnungen mit Variablen durchführen.

a = 5
b = 3

print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a // b)
print(a % b)
print(a ** b)

Natürlich sind auch Berechnungen zwischen Variablen und Zahlen möglich.

a = 5

print(a + 3)
print(a - 3)
print(a * 3)
print(a / 3)
print(a // 3)
print(a % 3)
print(a ** 3)

Sie können auch neue Variablen erstellen und die Ergebnisse in die Variablen einfügen.

a = 5
b = 3

calc1 = a + b
calc2 = a - b
calc3 = a * b
calc4 = a / b
calc5 = a // b
calc6 = a % b
calc7 = a ** b

print(calc1)
print(calc2)
print(calc3)
print(calc4)
print(calc5)
print(calc6)
print(calc7)

Diese sind der normalen Mathematik sehr ähnlich.

Führen Sie einige Berechnungen mit Variablen durch.

Ergebnis

Zuweisungsoperatoren

= wird als Zuweisungsoperator bezeichnet (Sie brauchen sich den Namen nicht zu merken) und wird auch als Operator behandelt. Die Bedeutung ist bereits erlernt worden.

Es gibt weitere speziellen Operatoren, die zusammengesetzte Zuweisungsoperatoren heißen (Sie brauchen sich den Namen nicht zu merken). Wenn Sie a += 10 schreiben, bedeutet das a = a + 10. Als die zusammengesetzte Zuweisungsoperatoren sind

  • +=

  • -=

  • *=

  • /=

  • //=

  • %=

  • **=

verfügbar. Die Bedeutungen dieser Operatoren sollten offensichtlich sein.

Überlegen Sie, was passieren würde, wenn Sie das folgende Programm ausführen würden. Führen Sie es dann aus und prüfen Sie, ob es wie erwartet funktioniert.

a = 12
b = 10

a += 2
print(a)

a -= 3
print(a)

a *= 2
print(a)

a /= 10
print(a)

a += b
print(a, b)

Ergebnis

Zeichenketten

Wie bereits in Variablen erwähnt, können Sie + auch für Zeichenketten verwenden, was Zeichenkettenzusammensetzung bedeutet. Es kann auch += verwendet werden.

Sie können - nicht für Zeichenketten verwenden.

Es ist nicht möglich, + für Zeichenketten und Zahlen (z. B. "abc" + 1) zu verwenden.

Operatorenpriorität

Ich werde nicht ins Detail gehen, aber das Folgende sollte für den Moment genügen. Kurz gesagt, es ist ungefähr dasselbe wie in der Mathematik.

In der Reihenfolge ihrer Priorität sind:

  • ()

  • **

  • *, /, //, % (// und % können als eine Art Division betrachtet werden)

  • +, -

  • =, +=, -=, *=, /=, //=, %=, **=

  • Mit Ausnahme ** hat diejenige links eine höhere Priorität, wenn mehrere Operatoren der gleichen Priorität nebeneinander liegen.

    Zum Beispiel:

    10 / 2 * 3

    Da das / auf der linken Seite eine höhere Priorität hat, ist dies dasselbe wie (10 / 2) * 3, aber nicht 10 / (2 * 3).

  • Wenn mehrere ** nebeneinander liegen, hat diejenige rechts eine höhere Priorität.

    Zum Beispiel:

    a ** b ** c

    ist dasselbe wie a ** (b ** c), aber nicht (a ** b) ** c. Um Unklarheiten bzw. Fehler zu vermeiden, ist es in diesem Fall jedoch immer (...) verwendet werden sollte.

Es gibt (leider) noch viele weitere Regeln, aber die oben genannten Regeln sind oft ausreichend.

Zusammenfassung

Auf dieser Seite haben Sie die wichtigsten arithmetischen Operatoren kennengelernt.

  • Vier arithmetische Operationen (+, -, *, /), Bodenteilung (//), Rest (%), Potenz (**)

  • Zusammengesetzte Zuweisungsoperatoren (+=, -=, *=, /=, //=, %=, **=)

  • Jeder Operator hat seinen eigenen Priorität. Wenn Sie die Priorität ändern möchten, können Sie () verwenden (fast dasselbe wie in der normalen Mathematik).