# Python/ Input

Bitte erstellen Sie in IDLE oder ihrer präferierten IDE eine neue Datei und speichern Sie diese.
Wichtig: Die Zeilennummern dienen der Übersichtlichkeit und dürfen nicht mit eingegeben werden.
Führen Sie die Datei mit F5 aus, dabei sollte folgendes Ergebnis herauskommen:
Die erste Zeile zeigt uns an, welche Datei gerade ausgeführt wurde. Wie Sie sehen, haben Sie Ihren ersten eigenen Text auf dem Bildschirm ausgegeben! Bevor wir lernen, wie Sie auch die Eingaben erfassen, dient uns dieses Beispiel dazu, zwei neue Konzepte zu erläutern.

## Strings

Bisher haben wir unseren Variablen ausschließlich Zahlen zugewiesen. Aber Zeichen funktionieren (fast) genauso einfach. Ein Zeichen ist dabei ein einzelner Buchstabe wie "A" "ö" aber auch "#", "!", "§" usw. und wird im Englischen als "charakter", kurz "char" bezeichnet. Für einen Text reihen wir Zeichen hintereinander, wie Perlen auf einer Schnur. Der entsprechende Datentyp heißt daher auch String (englisch für Schnur), kurz str.
Um Python mitzuteilen, was alles zu dem String gehört, umschließen wir den Text jeweils mit Anführungszeichen ("). Das " wird auf der deutschen Tastatur über das gleichzeitige Drücken der Shift-Taste und der 2-Taste eingegeben. Was machen wir aber, wenn wir ein Anführungszeichen in unserem Text verwenden wollen? Dazu haben wir zwei Möglichkeiten:
Zum einen können wir den Text stattdessen mit dem Hochkomma (') umschließen (das ' wird mit der Shift- und der #-Taste eingegeben):
Das funktioniert umgekehrt natürlich auch (der Datentyp bleibt dabei weiterhin "str"):
Python ist es dabei egal, welches Zeichen wir nutzen - es muss nur am Anfang und am Ende das gleiche sein.

## Escapen

Die andere Methode besteht darin, das Zeichen zu "escapen", dass heißt, es unsichtbar zu machen:
Um ein Zeichen zu escapen nutzen wir das den \ (engl. "backslash") als Escape-Zeichen. Den \ erzeugen wir auf der deutschen Tastatur mittels der Alt Gr- und der ß-Taste. Jedes Zeichen hinter dem backslash wird ignoriert. Das erklärt auch diese Fehlermeldung:
Das abschließende Anführungszeichen wird vom Interpreter nicht mehr gefunden, da wir es versteckt haben!

## Kommentare

Programmcode wird schnell unübersichtlich. Für Übersichtlichkeit und Nachvollziehbarkeit besteht die Möglichkeit, Code zu kommentieren. Python ignoriert dabei alles, was zwischen # und Zeilenende steht.
Das Ergebnis:

## Dreifach-Anführungszeichen

Sie können dreifache Anführungszeichen nutzen um Text einzugeben, der über mehrere Zeilen geht:
Ergibt:
Ob " oder ' ist hierbei egal solange Sie durchgängig bei dem selben Zeichen bleiben.
So können Sie "schöne" (heißt: vorformatierte) Textausgaben gestalten.
Hauptsächlich genutzt wird diese Möglichkeit aber für mehrzeilige Kommentare. Den Text einer Variablen zuzuweisen ist dafür nicht erforderlich:

## print

Mit print geben Sie einen Text auf dem Standardausgabekanal (englisch: 'Standard out' oder 'stdout') aus: Ihren Bildschirm. Während wir im Deutschen bei dem Wort "drucken" eher an den Papierausdruck denken, wird im Englischen auch auf den Bildschrim "gedruckt", daher der Name 'print'.
Wir können print beliebig viele Texte und Variablen als sogenannte Parameter (Parameter stehen innerhalb der einer Funktion) übergeben:
Standardmäßig trennt print die Eingaben mit einem Leerzeichen. Mit dem namenlichen Paramter "sep" können wir das Ändern:
Print fügt an das Ende jeder Ausgabe einen Zeilenumbruch ("\n" - english 'newline') an. Rufen wir print ohne Parameter auf, erhalten wir also eine Leerzeile:
Mit dem Parameter end können wir dieses Verhalten kontrollieren:

## input

Kommen wir zu dem Gegenteil der Ausgabe auf den Bildschirm - der Eingabe über die Tastatur. Dazu stellt uns Python die input-Funktion zur Verfügung. Diese hält das Programm an, bis Sie etwas eingegeben und/oder die Entertaste gedrückt haben:
Je nachdem, welchen Namen Sie eingegeben haben, unterscheidet sich natürlich die Ausgabe.

## Das Eingabeformat

Wir können nun unsere neue Fähigkeit nutzen, um kleine, interaktive Rechenprogramme zu schreiben:
Statt des erwarteten Ergebnisses erhalten wir jedoch eine Fehlermeldung:
Die Funktion input liefert uns immer einen String zurück:

## Konvertierung I

Wir müssen daher den String in eine Zahl umwandeln ("konvertieren"):
Und damit funktioniert unser kleines Programm wie erwartet:
Die folgende Tabelle zeigt die Konvertierungsfunktionen für die Datentypen, die wir schon kennen:
Konvertierungsfunktionen :
| Datentyp | Funktion |
| integer | int |
| float | float |
| string | str |

## Zusammenfassung

Sie haben den neuen Datentyp String kennengelernt und die verscheidenen Arten, Strings zu erstellen. Ebenso können Sie mit input Benutzeriengaben lesen und mit print Dinge auf dem Monitor ausgeben. Zudem wissen Sie jetzt, wie Sie zwischen den Datentypen konvertieren können. Da swich mit Buchstaben eine Menge anfangen lässt, kümmern wir uns im nächsten Kapitel ganz um Strings.