AB 2 Programmierung mit Python


Umwandlung von Benutzereingaben


Schau dir dieses Video an. Es hilft dir, die Problemstellung zu verstehen:



Wenn du mit Benutzereingaben arbeitest, werden diese immer als String (Text) gespeichert, selbst wenn der Benutzer eine Zahl eingibt. Das bedeutet, wenn du mit eingegebenen Zahlen rechnen möchtest, musst du diese Eingaben explizit in den entsprechenden Datentyp, z.B. int oder float, umwandeln.


Beispiel aus dem Video:

value1 = input("Erste Zahl eingeben: ")
value2 = input("Zweite Zahl eingeben: ")

print(value1 + value2)


Beispielablauf:

Erste Zahl eingeben: 10
Zweite Zahl eingeben: 5
105


Anstatt die Zahlen 10 und 5 zu addieren, werden die Texte "10" und "5" einfach zusammengehängt.

Damit die Addition korrekt funktioniert, musst du die Benutzereingaben in den passenden Datentyp umwandeln, zum Beispiel in int für ganze Zahlen. So wird die Eingabe von Text in Zahlen geändert, und die Addition funktioniert korrekt.


Korrektur:

value1 = int(input("Erste Zahl eingeben: "))
value2 = int(input("Zweite Zahl eingeben: "))

print(value1 + value2)


Beispielablauf:

Erste Zahl eingeben: 10
Zweite Zahl eingeben: 5
15


Jetzt werden die beiden Zahlen korrekt addiert.


Noch ein Beispiel zur Umwandlung:

name = "John"
alter = 15
print(name, "ist", alter, "Jahre alt.")
print(name + "ist" + str(alter) + "Jahre alt.")


Ausgabe:

John ist 15 Jahre alt.
Johnist15Jahrealt.


Erklärung:

Aufgabe 1
Schreibe ein Programm, das den Benutzer nach zwei Zahlen fragt und die Differenz dieser beiden Zahlen ausgibt. Achte darauf, dass du die Eingaben in ganze Zahlen umwandelst.


Aufgabe 2
a) Was passiert im folgenden Code, wenn die Zahlen 3.5 und 2.1 eingegeben werden? Welchen Fehler bekommst du, und warum passiert das?

value1 = int(input("Erste Zahl eingeben: "))
value2 = int(input("Zweite Zahl eingeben: "))

print(value1 + value2)

b) Ändere den Code so, dass auch Dezimalzahlen eingegeben werden können. Lies noch einmal den Abschnitt zur Datentyp Umwandlung aus AB 1.


Aufgabe 3
Was wird genau nach dem Ausführen dieses Programms im Terminal angezeigt?

berg = "Mount Everest"
hoehe = 8848
einheit = "Meter"
ort = "Himalaya"
print("Der", berg, "im", ort)
print("ist " + str(hoehe) + " " + einheit + " hoch.")


Aufgabe 4
Der folgende Code fragt den Benutzer nach seinem Namen und Wohnort:

name = input("Gib deinen Namen ein: ")
ort = input("Gib deinen Wohnort ein: ")
# Dein Code

Ergänze den Code so, dass er die Ausgabe X wohnt in Y erzeugt.
Beispiel:

Max wohnt in Berlin.


Aufgabe 5
Schreibe ein Programm, das fünf Variablen anlegt.
a) Drei dieser Variablen haben die Werte "Im Jahr", "leben" und "Milliarden Menschen auf der Erde".
b) Zwei weitere Variablen haben die Werte 2024 und 8.1.
Verwende den + Operator, um die Variablen zu einem Satz zu verbinden, und gib das Ergebnis aus. Achte darauf, die Zahlen mit der Funktion str() in Strings umzuwandeln, bevor du sie verkettest.


Zusatzaufgabe 1
Schreibe ein Programm, das den Benutzer dazu auffordert, zuerst die Anzahl der Hunde und anschließend die Anzahl der Hühner einzugeben. Das Programm soll dann die Gesamtanzahl der Beine und die Gesamtanzahl der Flügel berechnen und ausgeben.
Denke dabei nach:
a) Wie viele Variablen benötigst du, um die Eingaben und Berechnungen zu speichern?
b) Welche sinnvollen und beschreibenden Namen könnten diese Variablen haben?


Zusatzaufgabe 2
Schreibe ein Programm, das die folgende Ausgabe genau so im Terminal anzeigt:

Das
    ist
       ein
    eingerückter
Text

Verwende mehrere print()-Befehle und setze die Einrückungen durch Leerzeichen manuell, um das Format korrekt darzustellen.


Zusatzaufgabe 3
Wenn du das Zeichen " in einem Text im Terminal ausgeben möchtest, kannst du den Text in einfache Anführungszeichen ' ' setzen.
Schreibe ein Programm, das den folgenden Satz mit einem print()-Befehl im Terminal ausgibt:

Ist ja "ganz toll"!.


Mehr Infos zur folgenden Aufgabe findest du bei W3Schools: Escape Characters in Python


Zusatzaufgabe 4
Wenn du sowohl " als auch ' in einem Text im Terminal ausgeben möchtest, kannst du sie mit einem Backslash \ schützen:
\" gibt ein " aus.
\' gibt ein ' aus.
Gib folgenden Satz mit einem print()-Befehl im Terminal aus:

Ich kann "Anführungszeichen" und ' ausgeben.