Tastatur und Monitor

Ein- und Aus­gabe



Quellen: A. M. Maier, T. Rauschmaier, G. Kompa, Elektronikschule Tettnang
M. Brenner, J. Schnaiter, "Softwareentwicklung mit Python", ZSL Freiburg, 2024


Das Python-Programm besteht aus einzelnen Anwei­sungen die hinter­einander abge­arbeitet werden. Eine einfache Anweisung stellt bspw. die Tastatureingabe oder die Monitorausgabe dar.

Neben der Eingbe von Daten über die Tastatur und der Monitorausgabe, lernst Du in diesem Artikel Variablen, Konstanten und Datentypen kennen. Darüber hinaus wird Dir die Datentypumwandlung und die formatierte Ausgabe erklärt.

Infos Python Anweisungen und Kommentare



x = 2101
# ich bin ein Kommentar
""" mehrzeiliger
Kommentar """

Das Python-Programm besteht aus einzelnen Anweisungen die hintereinander abgearbeitet werden. Eine einfache Anweisung stellt bspw. die Tastatureingabe oder die Monitorausgabe dar. In anderen Programmiersprachen wie Java oder Java Script werden Sie mit Semikolon ; abgeschlossen und ein Anweisungsblock in geschweifte Klammern gesetzt {}. Nicht so in Python!

Python unterscheidet zwischen Groß- und Kleinschreibung und verwendet den Unicode-Zeichensatz.

Mit Kommentaren kann man im Quelltext den Überblick bewahren. So kann man die Funktionsweise einzelner Teile besser nachvollziehen und im Quelltext nach Begriffen der Kommentare suchen. Einzeilige Kommentare schreibt man mit #, mehrzeilige mit """ ... """.

Variab­len und Daten­typen deklarieren und initialisieren



Datentyp Beispiel
int v1 = 42
float v2 = 3.14
boolean v3 = True
string v4 = "Hallo"

Eine Variable speichert einen veränder­baren Wert. Der Datentyp der Variable legt die Zahlenart fest. Die Größe des Wertes ist grundsätzlich unbegrenzt. Beachte: Der Name der Variable darf nicht aus Python-Befehlen bestehen.

Numerische Datentypen gibt es für Ganzzahlen (int) wie bspw 42 und für Dezimalzahlen (float) wie bspw. 3.14.

Weitere Datentypen gibt es für Wahrheitswerte (bool) mit den Werten True oder False sowie Zeichenketten (str). Einzelne Zeichen und Zeichenketten werden nicht unterschieden und werden in Hochkomma ' oder in Anführungszeichen " gesetzt.

Für manche Zeichen gibt es sogenannte Escape Sequenzen, da sie tlw. anderweitig schon belegt sind:
Zeilenumbruch - \n, Tabulator - \t, " - \"

Merke: Mit print(type(v1)) kann man den Datentyp der Variablen v1 anzeigen lassen.

Aufgabe 1 Ausgabe von Variablen und Datentypen

Autoren: G. Kompa, D. Supper | binnendifferenziert

Im ersten Programm wird die Ausgabe von Worten (Zeichenketten) und Werten getestet. Beim Programmieren muss man auf Klein- und Großschreibung achten (case sensitive).

  1. Öffne Visual Studio Code und öffne Dein erstes Projekt 01-Ein-und-Ausgabe.
  2. Kopiere den Quelltext aus der Abbildung teste das Programm. Ergänze es um drei weitere Variablen mit unterschiedlichen Datentypen. Bestimme die ausgegebenen Werte.
  1. Finde drei Möglichkeiten um einen Wert von 10 auszugeben.
  2. Erzeuge mithilfe der Variable nun die alternative Ausgabe: Die Zahl ist 3!.

    Hänge mit , eine weitere Zeichenkette an.


  3. Verwende ein Terminal (Windows: cmd) und wechsel in das Verzeichnis der Jupiter Notebook Datei. Erstelle die Datei test.py und kopiere den Quelltext in die Datei. Nun kannst Du mit dem Befehl python3 test.py die Datei ausführen.
  1. 10 <class 'int'>
  2. print(Die Zahl ist: 10");,
    v1 = 3
    print("Die Zahl ist: " + (v1+7));
    ,
    print("Die Zahl ist ",10)
  3. print("Die Zahl ist ",v1,"!");

Aufgabe 2 Tastatur­eingabe und Tastatur­ausgabe

Autoren: G. Kompa, D. Supper

In der Abbildung steht der Quelltext für eine Tastatureingabe.

  1. Erstelle einen Abschnitt in dem du den Quelltext aus der Abbildung kopierst.
  2. Führe das Programm aus und gib, anstelle einer Zahl, ein Zeichen und Wort ein. Notiere die Fehlermeldung.
  3. Ergänze das Programm um eine Monitorausgabe wie bspw.: Die eingegebene Zahl lautet: ...
  4. Ergänze das Programm mit der Eingabe einer zweiten Zahl und gib das Produkt beider Zahlen aus.

Entspann dich erstmal ...



Wie lernt man?

Der kleine Max soll Blumen kaufen. Mutter sagt: "Du Max, ich habe Blumen beim Gärtner Grün bestellt, hol mir die doch bitte. Ich erklär dir wie du hinkommst: Du gehst die Straße runter, dann rechts, zwei Häuserblock weiter links, dann geradeaus ... Hast du verstanden?" Max antwortet "ja" und geht los. Nach 2 Stunden kommt er ohne Blumenstrauß zurück. Wieso?

Antwort: Die Mutter hat die verkehrte Frage gestellt. Sie hätte Max bitten sollen, den Weg zu wiederholen.

Investiere für dich und deine Freunde in gute Fragen wie bspw.: "Was hast du dir bei dieser Lösung gedacht?"

Daten­typ­um­wandlung type casting



menge = int(4)
position = int(43.24)
number = float(menge)+0.5

Datentyp­umwandlungen (engl. type casting) ermöglichen es für bestimmte Berechnungen oder Ausgaben den Datentyp zu verändern. Durch den Datentyp vor den in Klammern geschriebenen Wert kennzeichnet man die Typkonvertierung.

Hinweis: Die Datentypkonvertierung ist ein häufiges Problem in anwendungorientierten Aufgaben.

Formatierte Ausgabe



pi = 3.14159
a = 270
b = 11.5

print(f"Pi = {pi}")
print(f"Pi = {pi:5.2f}")
print(f"Pi = {int(pi*100)/100}")
print(f"{a} Äpfel und {int(b)} Birnen")

Folgende Ausgabe wird erzeugt:

Pi = 3.14159
Pi =  3.14
Pi = 3.14
270 Äpfel und 11 Birnen

Aufgabe 3 Uhrzeit berechnen

Autoren: G. Kompa, D. Supper | binnendifferenziert

watch

Schreibe ein Programm, dass den Benutzer auffordert die Zeit in Sekunden einzugeben. Der Wert 1089384 entspräche beispielsweise 12 Tagen, 14 Stunden, 36 Minuten und 24 Sekunden.

  1. Programmiere die Eingabe der Sekunden und die Ausgabe der Tage, Stunden, Minuten und Sekunden.

    Teile den Sekundenwert durch (60*60*24) um die Anzahl der Tage zu bekommen. Für die übrigen Minuten zu erhalten verwende den Modulo-Operator %.
    i = 100 / 60; #i = 1, Kommastellen entfallen
    i = 100 % 60; #i = 40, nur der Rest wird angegeben

  2. Gib Datum und Uhrzeit aus. 0 s entsprechen dabei dem 01.01.2000 00:00:00 Uhr. 1089384 entspräche beispielsweise dem 13.01.00 14:36:24.

Ternärer Operator



a = 1
b = 2

print(f"{a} {'Apfel' if a == 1 else 'Äpfel'}")
print(f"{b} {'Birne' if b == 1 else 'Birnen'}")

Folgende Ausgabe wird erzeugt:

1 Apfel
2 Birnen

Aufgabe 4 Welche Aussage ist wahr? - Bedingungen mit Variablen

Wähle die korrekten Aussagen aus.

e = 2.7182818284
print(f"e = {round(e,3)}")
Gib die korrekte Ausgabe an. Wähle eine Antwort.

  1. e = 2.718
  2. e = 2.7182
  3. e = %.3f
  4. e = 2.71


Wir sind "Wikinger"!
Gib den zugehörigen Quelltext an.
Wähle zwei Antworten.

  1. print("Wir sind "Wikinger"!")
  2. print('Wir sind "Wikinger"!')
  3. print("Wir sind 'Wikinger'!"")
  4. print("Wir sind \"Wikinger\"!")



menge = int(4.124)
print(f"Anzahl = {menge}")
Gib den Ausgabetext an. Wähle eine Antwort.

  1. Anzahl = 4.124
  2. Anzahl = {menge}
  3. Anzahl = 4
  4. Anzahl = 4.0


a, b = 4.124, "4"
print(f"{int(a)} Äpfel und {str(b)} Birnen")
Gib den Ausgabetext an. Wähle eine Antwort.

  1. 4.124 Äpfel und "4" Birnen
  2. 4 Äpfel und 4 Birnen
  3. 4 Äpfel und 4.124 Birnen
  4. 4 Äpfel und vier Birnen


40 % Rabatt
Nenne den passenden Quelltext. Wähle eine Antwort.

  1. print(f"{int(40.23)} % Rabatt")
  2. print(f"{40.23} % Rabatt")
  3. print(f"{int(41)} % Rabatt")
  4. print(f"{float(40.23)} % Rabatt")


1.23 km
Nenne den passenden Quelltext. Wähle eine Antwort.

  1. print(f"{int(1.23)} km")
  2. print(f"{int(1.2345*100)/100} km")
  3. print(f"{(int)(123.45*100)/100} km")
  4. print(f"{int(1234.5)/100} km")

Aufgabe 5 Stromrechnung

Autoren: D. Supper | binnendifferenziert

Stromrechnung

Schreibe ein Programm, für die Ausgabe einer Stromrechnung wie in der Abbildung.

  1. Programmiere die Ausgabe der Stromrechnung. Der Benutzer gibt den Zählerstand am Anfang und Ende des Jahres ein. Erkundige Dich nach den aktuellen Strompreisen und erzeuge eine Ausgabe wie in der Abbildung.

    Nutze die Escape-Sequenz \t, um den Text entsprechend einzurücken.
    Das Runden der Zahlen ist erst im zweiten Aufgabenteil zu berücksichtigen.

  2. Runde die Werte auf 2 Nachkommastellen.

    Nutze die Datentypkonvertierung (engl. cast) um die Werte auf zwei Nachkommastellen zu begrenzen: x = int(x * 100)/100


Aufgabe 6 Typkonflikte

Autoren: G. Kompa, D. Supper

Gib an welche Ausgabe am Monitor erscheint. Falls ein Fehler vorhanden, korrigiere diesen gegebenenfalls. Wenn du damit fertig bist, kopiere den Quelltext und verifiziere Deine Ergebnisse.

  1. Datentyp int und float
    print(int(3.4), int(4)+3.4)
    print(int('54'), float('54.2'))
    print(float("2.5")+3, int(2.5)+3)
    print(int('54.2'))
  2. Datentyp str
    print(str(3), str(3.14))
    print(int('8')+2, str(8)+"2")
  1. Datentyp bool
    print(bool(1), bool(0), bool(-0.1))
    print(bool(''), bool(' '))
  2. Mischen von Datentypen
    print(4 + '5')
    print(2+True+False)
  1. Der Datentyp int definiert Ganzzahlen. Der Datentyp float definiert Kommazahlen ' '. Der Datentyp String definiert Zeichenketten welche in Anführungszeichen stehen müssen " ".
  2. Der Datentyp bool interpretiert alle Werte außer Null als True .
  3. Bei Zuweisungen muss der Datentyp übereinstimmen. Falls eine Änderung notwendig ist kann das über eine Datentypkonvertierung (engl. cast) erzwungen werden.

Wortliste und Satzbausteine



die Progra­mier­sprache Python, ~ Die Programier­sprache Python ist eine sogenannte Hoch­sprache mit der ausführbare Programme für den Rechner ge­schrieben werden.
der Quell­text, -e das geschriebene Programm mit dem Dateityp .py
die Syntax, - die Grammatik des Programms
der Com­piler, ~ Ein Python-Compiler übersetzt den Quelltext .py.
die Anwei­sung, -en Das Programm besteht aus zweilenweisen Anweisungen, die hinter­einander ausgeführt werden.
der Anwei­sungs­block, -"e eine Reihe von Anweisungen die eingerückt werden
die Vari­able, -en Eine Variable speichert einen veränder­baren Wert. Der Name der Variable darf nicht aus Python-Befehlen bestehen und wird klein geschrieben.
der Daten­typ, -en Der Datentyp legt die Art der Variable fest.
die De­finition, -en Eine Variable wird mit einem Wert angelegt: x = 3