name = input("Wie heisst du? ")

"""
Explanation: Einführung in die Programmierung mit Python
Die Funktionsweise von Programmen
Programme funktionieren nach dem gleichen Prinzip:

Es werden Daten geladen.
Diese Daten werden verarbeitet.
Das Ergebnis der Verarbeitung wird ausgegeben.

Die Daten können aus verschiedenen Quellen kommen. Die Verarbeitung kann ganz unterschiedlich ablaufen. Und das Ergebnis kann auf verschiedene Weisen ausgegeben werden.
Daten können aus Dateien, von einer grafischen Benutzeroberfläche, aus dem Internet, von Sensoren oder aus ganz anderen Quellen stammen.
Bei der Verarbeitung kommt es einerseits darauf an, was für Daten man hat, und andererseits, was man damit anstellen will. Vielleicht will man die Daten sortieren, gruppieren, umsrukturieren, umformatieren, überprüfen oder sonst etwas mit ihnen anstellen.
Die Ausgabe kann wiederum auf verschiedenste Weise erfolgen. Informationen können auf den Bildschirm ausgegeben, in Dateien abgespeichert, auf Papier ausgedruckt, oder per Internet weitergeleitet werden.
Daten einlesen
Mithilfe der Funktion input() können Daten direkt vom Benutzer eingelesen werden. Dieser tippt die Informationen über die Tastatur ein, und die Funktion input() liefert die eingegebenen Daten an das Programm zurück.
Das folgende Programm fragt den Benutzer nach dem Namen und speichert diesen nach der Eingabe in der Variablen name ab.
Markiere den untenstehenden Code, sodass ein Rahmen darum herum erscheint. Drücke dann Ctrl+Return, um das Programm auszuführen. Gib dann deinen Namen ein, und bestätige mit Return:
End of explanation
"""


name_in_grossbuchstaben = name.upper()

"""
Explanation: Daten verarbeiten
Das Programm hat nun die Daten eingelesen. Es handelt sich dabei nur um eine einzelne Information: Den Namen des Benutzers. Dieser kann aber bereits zur Verarbeitung verwendet werden.
Eine mögliche Verarbeitung besteht darin, den Namen in Grossbuchstaben zu schreiben. Hierzu gibt es eine sogenannte "Methode" namens upper(), welche direkt auf dem Namen ausgeführt werden kann:
End of explanation
"""


print(name_in_grossbuchstaben)

"""
Explanation: Eine zusätzliche Variable namens name_in_grossbuchstaben enthält nun den eingegebenen Namen, jedoch komplett in Grossbuchstaben geschrieben.
Daten ausgeben
Als letzter Schritt kann dieser Name nun ausgegeben werden. Hierzu ruft man die Funktion print() auf und übergibt ihr die auszugebende Variable als Argument:
End of explanation
"""


name = input("Wie heisst du? ")

"""
Explanation: Ein nützlich(er)es Programm
Nach dem Prinzip "Eingabe, Verarbeitung, Ausgabe" lassen sich verschiedenste Programme entwickeln. Natürlich ist es möglich, die eingelesenen Programme auf eine andere Art zu verarbeiten, um dann eine andere Ausgabe zu erzeugen.
Das Grossschreiben eines eingegebenen Namens ist nicht besonders nützlich. Es wäre aber bereits interessanter, wenn man erfahren würde, wie viele Buchstaben ein eingegebener Name hat.
Der Name kann wieder gleich eingelesen werden:
End of explanation
"""


anzahl_buchstaben = len(name)

"""
Explanation: Um die Anzahl Buchstaben zu zählen, kommt die Funktion len() zum Einsatz (kurz für "length"). Hierbei handelt es sich nicht um eine "Methode" wie zuvor upper(), welche direkt auf dem Namen aufgerufen werden kann, sondern um eine Funktion, der man eine Variable übergeben muss (ähnlich wie print()):
End of explanation
"""


print(anzahl_buchstaben)

"""
Explanation: Die ermittelte Anzahl Buchstaben, die der eingegebene Name hat, kann nun mittels print() ausgegeben werden:
End of explanation
"""


zahl_1 = input("Bitte gib eine Zahl ein: ")
zahl_2 = input("Bitte gib noch eine Zahl ein: ")

"""
Explanation: Ein einfacher Taschenrechner
Mit einer einzigen Information lassen sich kaum nützliche Programme schreiben. Die Stärke von Comptern ist, dass sie mit sehr vielen und grossen Daten umgehen können. Computer werden teilweise auch als "Rechner" bezeichnet. Dies kommt daher, dass Computer Maschinen sind, die sich besonders zum Rechnen eignen.
Eine einfache Rechnung ist die Addition, z.B. 3 + 5 = 8. Hierzu braucht man keinen Computer. Das Eingeben der beiden Zahlen 3 und 5 dauert schliesslich länger, als wenn man die Berechnung im Kopf anstellen würde.
Etwas anders ist es bei grösseren Zahlen. Hier ist es effizienter, wenn man den Computer diese berechnen lässt. Hierzu müssen diese Zahlen aber zunächst wieder eingelesen werden:
End of explanation
"""


summe = zahl_1 + zahl_2

"""
Explanation: Diese beiden Zahlen können nun mit dem Plus-Operator + addiert werden:
End of explanation
"""


print(summe)

"""
Explanation: Das Ergebnis kann wieder mit print() ausgegeben werden:
End of explanation
"""


zahl_1 = int(zahl_1)
zahl_2 = int(zahl_2)

"""
Explanation: 1000 + 2000 = 10002000
Hier kann etwas nicht stimmen! Das Programm funktioniert nicht so, wie es sollte! Statt die beiden Zahlen zusammenzurechnen, werden sie einfach aneinandergehängt! Kann der Computer etwa nicht rechnen?
Tatsächlich hat der Computer genau das getan, was wir ihm gesagt haben. Das Problem ist, dass wir offenbar etwas anderes von ihm wollten, als wir es eingegeben haben.
Der Computer unterscheidet nämlich zwischen verschiedenen Datentypen. Liest man Daten über input() ein, wird immer Text zurückgegeben. Mit Text lässt sich jedoch schlecht rechnen. Der Text muss zunächst in eine Zahl umgewandelt werden, damit wir damit rechnen können. Diesen Vorgang nennt man Konvertieren.
Um Text in eine Zahl zu konvertieren, kann man int() verwenden, das praktisch wie eine Funktion verwendet wird:
End of explanation
"""


summe = zahl_1 + zahl_2
print(summe)

"""
Explanation: Nun hat man es mit richtigen Zahlen zu tun, mit denen man auch rechnen kann:
End of explanation
"""


zahl_1 = 5
zahl_2 = 3

# Ab hier musst du den Code erweitern:
summe = 
differenz = 
produkt = 
quotient = 
potenz = 
# Ab hier kannst du den Code so lassen, wie er ist:

print(f'{zahl_1} + {zahl_2} = {summe}')
print(f'{zahl_1} - {zahl_2} = {differenz}')
print(f'{zahl_1} * {zahl_2} = {produkt}')
print(f'{zahl_1} / {zahl_2} = {quotient}')
print(f'{zahl_1} ** {zahl_2} = {potenz}')

"""
Explanation: Die Berechnung funktioniert nun korrekt!
Weitere Rechenarten
Neben der Addition gibt es noch viele weitere Möglichkeiten, wie zwei Zahlen miteinander verrechnet werden können. Da gibt es z.B. die weiteren Grundrechenarten (Subtraktion, Multiplikation und Division). Das Potenzieren ist eine weitere Möglichkeit (Zahl 1 "hoch" Zahl 2 nehmen).
Für diese weiteren Rechenarten bietet Python die folgenden Operatoren an:

Subtraktion: -
Multiplikation: *
Division: /
Potenz: **

Probiere diese Operatoren unten aus. Die Zahlen sind vordefiniert. Die print()-Aufrufe, um die Ergebnisse mitsamt Berechnung auszugeben, sind auch schon vorgegeben.
End of explanation
"""


