Das Potenzieren in Python
Der Zeichen »*« wird „Stern “ oder „Sternchen “ genannt.
In Python kann auch eine Potenz als Ausdruck geschrieben werden.
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
2 ** 6
64
- auf deutsch
- „Zwei hoch Sechs“
- in der Mathematik
- 2⁶
Lesehinweis Für diese Lektion wird vorausgesetzt, daß ein Leser das Potenzieren grundsätzlich schon aus der Schule kennt. Das Potenzieren mit Python wird hier vorgestellt, weil es in der Praxis beispielsweise bei der Übernahme von Formeln in ein Programm benötigt wird. Für den Rest dieses Kurses spielt es jedoch keine bedeutende Rolle, so daß ein Leser dem Kurs auch weiterhin folgen kann, wenn er noch Schwierigkeiten mit der Prozentrechnung haben sollte.
Wir haben bereits die Werte von Literalen ausgegeben.
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
65
65
Auch das Objekt einer Potenz »2**3« (sprich: „Zwei hoch Drei“) kann ausgegeben werden.
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
2**3
8
Zwischen zwei Numerale darf also auch ein Doppelstern »**« geschrieben werden. Der so entstehende Text »2**3« ist dann allerdings kein Literal mehr, jedoch kann er von einer Python -Implementation ebenfalls durch ein Objekt interpretiert werden.
2**3 ist die Zahl, die man erhält, wenn man die Zahl Eins dreimal mit der Zahl 2 multipliziert. «2**3» = ‹ 2³ › = ‹ 1 × 2 × 2 × 2 ›.
Einen mit einem Potenzoperator geschrieben Ausdruck, wie »2**3«, nennen wir auch einen Potenzausdruck.
Das Potenzieren ist nicht kommutativ.
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
2 ** 6
64
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
6 ** 2
36
Die Potenzierung einer Zahl mit dem Wert «0» ergibt den Wert «1».
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
2 ** 0
1
- Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0 ** 0
1
(In der Mathematik gibt es keine einheitliche Festlegung für den Wert von 0⁰.)
Literale und Potenzausdrücke sind Ausdrücke.
Fachbegriffe
In »2 ** 6« ist »**« ein Operator und »2« und »6« sind dessen Operanden.
Die Operanden des Potenzoperators heißen Basis und Exponent (in dieser Reihenfolge).
Beim Potenzoperator »**« stellt man sich vor, daß er zwei Stellen besitzt (eine links und eine rechts vom Operatorzeichen, »…**…«) und sagt auch daß er zwei Operanden akzeptiere.
Ein Operator, der genau zwei Operanden verlangt (wie der Potenzoperator »**«), wird binärer Operator genannt.
Der Operator »(« »)« verlangt hingegen nur einen Operanden. Ein Operator, der genau einen Operanden verlangt, wird unärer Operator genannt.
Der Operator »(« »)« wird um seinen Operanden herumgeschrieben. Einen solchen Operator nennt man auch Zirkumfixoperator.
Man bezeichnet die Anzahl der Stellen eines Operators auch als Arität des Operators. Ein unärer Operator hat die Arität 1, ein binärer Operator die Arität 2.
Der Operator »**« steht zwischen seinem Operanden. Ein binärer Operator, der zwischen seinen Operanden steht, wird Infixoperator genannt.
- Syntaxdiagramm
Potenz
.---------. .--. .---------.
--->| Literal |--->( ** )--->| Literal |--->
'---------' '--' '---------'
Ein Terminalsymbol mit mehreren Zeichen, wie »**« ist nur in einem Syntaxdiagramm, nicht in einem morphologischen Diagramm, möglich, da in einem morphologischen Diagramm alle Terminalsymbole einzelne Zeichen sind.
Lexikalische Einheiten
Der Operator »**« gilt als eine lexikalische Einheit. Das zweite Sternchen »*« muß immer direkt hinter dem ersten stehen.
Fast alle Operator sind jeweils eine lexikalische Einheit. Eine Ausnahme sind Operatoren, die aus Klammern bestehen. Bei Ihnen gilt jede Klammer einzeln als eine lexikalische Einheit, weil die Klammern nicht direkt hintereinander geschrieben werden müssen.
Ausdrücke
- Begriffshierarchie der Ausdrücke
Ausdruck
|
.------------------------------------------'------------------------------------------.
| |
Literal Operatorausdruck
^ |
| .--------------'--------------.
.-------------'-------------. | |
| | Klammerausdruck Potenzausdruck
Numerale Zeichenfolgenliteral (2) 2 ** 6
^ "abc"
|
.-------------'-------------.
| |
ganzzahliges Numerale Punktnumerale
^ 2.8
|
.-------------'-------------.
| |
Dezimalnumerale Hexadezimalnumerale
123 0x1A
Übungsfragen
? Lexikalische Einheiten zählen
Aus wie vielen lexikalischen Einheiten besteht der Quelltext »10**2«?
- Quelltext
10**2
Wiederholung der Regel Der Operator »**« gilt, wie praktisch alle Operatoren, als eine lexikalische Einheit. Jedes Literal gilt als eine lexikalische Einheit.
? Lexikalische Einheiten zählen (1)
Aus wie vielen lexikalischen Einheiten besteht der Quelltext »10 ** 2«?
- Quelltext
10 ** 2
Wiederholung der Regel Der Operator »**« gilt, wie praktisch alle Operatoren, als eine lexikalische Einheit. Jedes Literal gilt als eine lexikalische Einheit.
Übungsaufgaben
? Angaben darstellen
Spätestens in 10¹⁴ Jahren soll die Bildung neuer Sterne enden. Stellen Sie diese Zahl mit Hilfe von Python als normale Dezimalzahl (ohne Potenzschreibweise) dar. (Dabei soll die Eingabe das Ziffernpaar »14« enthalten und die Ausgabe darf nur aus Ziffern und Punkte umfassen.)