Die Addition in Python (Die Addition in Python), Lektion, Seite 723874
https://www.purl.org/stefan_ram/pub/addition_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Die Addition »…+…« in Python 

Einführendes Beispiel

Eine Summe kann mit der aus der Schule gewohnten Schreibweise als Ausdruck verwendet werden. Die Addition wird mit dem Pluszeichen »+« geschrieben.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1 + 1
2
auf deutsch:
● „1 und 1“
● „1 plus 1“
● „die Summe von 1 und 1“

Syntax

Das folgende vereinfachte Syntaxdiagramm zeigt die bisher vorgestellten Operatoren mit Produktionsregeln, die in Reihenfolge abnehmender Priorität angeordnet sind.

Syntaxdiagramm (vereinfacht)

Ausdruck

.---------.
--->| Literal |--->
'---------'

Ausdruck

.-. .----------. .-.
--->( ( )--->| Ausdruck |--->( ) )--->
'-' '----------' '-'

Ausdruck

.----------. .--. .----------.
--->| Ausdruck |--->( ** )--->| Ausdruck |--->
'----------' '--' '----------'

Ausdruck

.-. .----------.
---.--->( + )---.--->| Ausdruck |--->
| '-' | '----------'
| .-. |
'--->( - )---'
'-'

Ausdruck

.----------. .-. .----------.
--->| Ausdruck |---.--->( * )---.--->| Ausdruck |--->
'----------' | '-' | '----------'
| .-. |
'--->( / )---'
'-'

Ausdruck

.----------. .-. .----------.
--->| Ausdruck |--->( + )--->| Ausdruck |--->
'----------' '-' '----------'

Sind A  und a  Ausdrücke, so ist A +a  wieder ein Ausdruck, der Summe  von A  und a  genannt wird (vereinfacht gesagt). Dabei wird A  auch Augend  und a  Addend  genannt.

Man beachte, daß wir jetzt zwischen einem unären  und einem binären  Plus-Operator unterscheiden müssen!

Typanforderungen

Der Augend und der Addend kann jeweils einen numerischen Typ (»int« oder »float«) haben.

Semantik (Wert)

Typsemantik

Ist der Typ beider Operandenwerte die Klasse »float«, hat der Ergebniswert ebenfalls die Klasse »float« als Typ. Ist der Typ beider Operandenwerte »int«, hat der Ergebniswert ebenfalls die Klasse »int« als Typ.

Ist der Typ des einen Operanden »float« und der des anderen »int«, so hat der gesamte Ausdruck die Klasse »float« als Typ.

Typsemantik
int  + int int 
float  + … → float 
 + float float 

Wertsemantik

Bei der Auswertung einer Addition werden zunächst beide Operanden von links nach rechts ausgewertet. Der Wert eines Additionsausdrucks mit numerischen Operanden ist dann die Summe der Werte jener beiden Operanden.

Hat mindestens ein Operand die Klasse »float« als Typ, so erfolgt die Addition mit Nachkommastellen.

Beispiele

Beispiel zur Addition von int-Werten

Das folgende Beispiel zeigt eine Addition zweier int-Werte.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1 + 1
2

Beispiel zur Addition von float-Werten

Das folgende Beispiel zeigt eine Addition zweier float-Werte.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1. + 1.
2.0

Beispiel zur Addition von float-Werten und int-Werten

Die folgenden Beispiele zeigen die Addition eines int- und eines float-Werts.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1 + 1.
2.0
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1. + 1
2.0

?   Ausdrücke _

Welcher der folgenden Ausdrücke hat denselben Wert wie »1 / 2+3«?

»1/( 2+3 )«   Anton 
»( 1/2 )+ 3«  Berta

?   Lexikalische Einheiten _

Eine lexikalische Einheit ist eine Literal oder Operator, der Klammeroperator besteht jedoch aus zwei lexikalischen Einheiten.

Aus wie vielen lexikalischen Einheiten besteht der folgende Ausdruck?

Ausdruck
2*(3+14)

Übungsaufgaben

/   Terme _

Die in der Mathematik vorkommenden Schreibweisen für Werte werden Terme  genannt. In Python  verwendet man keine Terme. Die Ausdrücke  von Python  haben aber Ähnlichkeit mit Termen. Viele Terme lassen sich auch als Ausdruck schreiben und umgekehrt.

Schreiben Sie möglichst kurze Ausdrücke für die folgenden Terme, ohne vorher irgendwelche Teile der Terme im Kopf auszurechnen. Die Werte der Ausdrücke sollten den mathematischen Werten der vorgegebenen Terme möglichst nahe kommen, also den Werten, die man in der Grundschule als Werte der Terme ansehen würde.

Term (Ein Halb plus drei Viertel, als richtig gilt ein Ergebnis von zirka »1.25«)
 1       3
--- + ---
2 4
Term (Drei plus Vier im Zähler und Fünf plus Sechs im Nenner, als richtig gilt ein Ergebnis von zirka »0.6363636363636364«)
  3 + 4
---------
5 + 6

Negative Operanden bei der Rest-Operation *

Der Rest für negative Zahlen ist so beschaffen, daß die Addition des durch den zweiten Operanden geteilten Rests zum Ergebnis der ganzzahligen Division das Ergebnis der Division mit Nachkommastellen ergibt.

Auswertung
+1 / +2
0.5
+1 // +2 + +1 % +2 / +2
0.5
Auswertung
-1 / +2
-0.5
-1 // +2 + -1 % +2 / +2
-0.5
Auswertung
+1 / -2
-0.5
+1 // -2 + +1 % -2 / -2
-0.5
Auswertung
-1 / -2
0.5
-1 // -2 + -1 % -2 / -2 
0.5

Unäre und binäre Operatoren ⃗

In einem Ausdruck kann man immer erkennen, wann eine lexikalische Einheit für einen unären und wann sie für einen binären Operator steht, so daß Ausdrücke in dieser Hinsicht immer eindeutig interpretierbar sind.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1 + + 2
3

Im obigen Ausdruck muß das erste Plus »+« binär sein, da nur ein binäres Plus einem Ausdruck (hier: dem Ausdruck »1«) direkt folgen darf. Würde man das zweite Plus »+« als binär ansehen, so müßte »1 +« sein erster Operand sein, was aber nicht geht, da dies ja gar kein Ausdruck ist und ein Operand immer ein Ausdruck sein muß.

Gemischte Zahlen ⃗

Eine Schreibweise wie ‹  1½ › nennt man eine gemischte Zahl. ‹  › bedeutet ‹ 1 + ½ › und nicht : ‹  1 × ½ ›. Das folgende Programm gibt den Wert jener gemischten Zahl aus.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
1 + 1/2
1.5

Literale, die Operatorzeichen enthalten ⃗

Wenn ein float-Numerale mit der E-Schreibweise geschrieben wird, so darf hinter dem »E« auch ein Vorzeichen für den Exponenten stehen, wie beispielsweise in »2E+3« für ‹ 2 × 10⁺³ › (mit demselben Wert wie »2E3«, ‹ 2 × 10³ ›)

Das Literal »2E+3« ist also keine  Summe, sondern bedeutet ‹ 2 × 10⁺³ ›. Um Summen deutlich von solchen Literalen mit einem inneren Pluszeichen oder einem inneren Minuszeichen zu unterscheiden, bietet es sich an, die binären Operatoren »+« und »-« mit einem umgebenden Leerzeichen zu verwenden.

Beispiele

2+2E+3+3

2 + 2E+3 + 3

Hier hilft die Formatierung (also die Gestaltung des Quelltextes mit Hilfe von Leerraum) wirklich beim Lesen!

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723874 stefan_ram:723874 Die Addition in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723874, slrprddef723874, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/addition_python