Dieser Blog erklärt die Grundlagen der Programmiersprache Python anhand eines Projektes – ein Programm, mit dem sich Kopfrechnen trainieren lässt.
In zunächst fünf Entwicklungsstufen (auch Versionen genannt) wird das Programm schrittweise verbessert und um Funktionalitäten erweitert. Die Erweiterungen sind thematisch in kleinere Abschnitte gruppiert, um Neues zu vermitteln ohne den Gesamtüberblick zu verlieren.
Die Kernpunkte der jeweiligen Version sind angegeben und mit GitHub verlinkt, um Code für eigene Projekte abspeichern zu können bzw. in Colab interaktiv auszuprobieren.
In weiterführenden Programmversionen werden fortgeschrittene Programmiertechniken eingeführt, um Themen wie Data Science und künstliche Intelligenz zu bearbeiten.
Kopfrechnen Version 0.1
Link zum ausführbaren Code auf GitHub: https://github.com/dr-bach/python/blob/main/Kopfrechnen_0_1.ipynb
Am Programmierbeispiel lässt sich auch das sogenannte EVA Prinzip der elektronischen Datenverarbeitung erklären, bei dem 3 Elemente (in unterschiedlicher Reihenfolge) zusammenspielen
- E: Eingabe (Zahlen, Buchstaben, Mausklick oder Touch)
- V: Verarbeitung (die Algorithmen)
- A: Ausgabe (Darstellung auf dem Monitor bzw. Display oder drucken, speichern, …).
In dieser ersten Programmversion geht es darum, eine einfache Additionsaufgabe anzuzeigen und die Antwort des Benutzers abzufragen. Entsprechend wäre das EVA Prinzip hier:
- Das Programm erstellt eine Aufgabe (V)
- Das Programm zeigt die Aufgabe (A)
- Das Programm berechnet das Ergebnis (V)
- Das Programm fragt die Antwort ab (E)
- Das Programm zeigt die Antwort und das Ergebnis (A)
Die benötigten Grundlagen werden zunächst theoretisch erklärt und an allgemeinen Beispielen demonstriert (diese geben über Bezug auf das Kopfrechenprogramm oft hinaus). Die Beispiele lassen sich anschaulich in einer interaktiven Umgebung wie Google Colab ausführen.
Grundlagen Python: Variablen
Zunächst eine kurze Einführung zu Variablen. Variablen kann man sich als Behälter vorstellen, die Informationen wie Zeichenketten (Texte), Zahlen oder Wahrheitswerte (wahr oder falsch) speichern. Zahlen werden unterteilt in Ganzzahlen (…, -2, -1, 0, 1, 2, …) und Kommazahlen (wobei als Trenner, wie im englischsprachigen Raum üblich, ein Punkt statt ein Komma benutzt wird). Text wird als String gespeichert, Ganzzahlen als Integer, Kommazahlen als Float und Wahrheitswerte als Boolean.
text = „Hallo Welt“
ganzzahl = 1
kommazahl = 3.14
wahr = True
Grundlagen Python: Ausgabe
Für das Programm benötigen wir noch grundlegende Funktionen zur Ein- und Ausgabe.
Die Ausgabe erfolgt mit der Funktion `print()`. In der Klammer können Texte, Variablen und Steuerzeichen angegeben werden, die beim Erreichen durch das Programm angezeigt werden (eine leere Klammer führt zu einem Zeilenumbruch).
print(„Hallo Welt“)
print()
print(text)
print("Hallo Welt")
print()
print(text)
- Texte können in in einfachen oder doppelten Anführungsstrichen stehen, aber nicht gemischt (außer, man möchte Anführungsstriche in einem Text anzeigen)
- Variablen können aus Text und Zahlen bestehen
- Das Steuerzeichen /n führt zu einen Zeilenumbruch
- Mehrere Texte und Variablen können durch Kommata zusammengefügt werden, wobei automatisch ein Leerzeichen eingesetzt wird
- mit der Methode .format lassen sich Variablen in geschweiften Klammern angeben, die mit Null beginnend hochgezählt werden
- wird ein f hinter die geöffnete Klammer geschrieben, lassen sich Variablennamen direkt in geschweiften Klammern eintragen
- Texte lassen sich auch mit den mathematischen Funktionen + und * duplizieren (auch hier gilt Punkt- vor Strichrechnung)
Tipp: Einfach mal ablaufen lassen und die Einträge modifizieren, um sich mit der Funktion vertraut zu machen
print("Hallo", text, "\nmit Zeilenumbruch")
print()
print('Hallo "Welt"')
print()
print(f"Hallo {text}!")
print(f"Der Wert von Pi beträgt ungefähr {kommazahl},\nPi^2 ist ungefähr {kommazahl*kommazahl}")
print("{} + {} ist unfähr {}".format(2, ganzzahl, kommazahl))
print()
form = "*"
print("Hier ein paar Formen:")
print(form+form)
print(form+5form) print(50form)
print()
bruch=10/7
print(f"normales Float: {bruch:f}")
print(f"Float formatiert (10 Nachkommastellen): {bruch:.10f}")
print(f"Float formatiert (5 Vor- und 5 Nachkommastellen): {bruch:10.5f}")
print(f"Exponential: {bruch:e}")
print(f"Prozentual: {bruch:%}")
print()
print("Steuer- und Sonderzeichen mit vorangestelltem Slash (), z.B. \'")
Grundlagen Python: Eingabe
Die Eingabe erfolgt über `input()`, wobei dieser Wert einer Variablen zugewiesen wird, genauer gesagt ein String (Zeichenkette). Zusätzlich kann in Klammern, analog zu `print()`, eine Information vor der eigentlichen Abfrage ausgegeben werden (diese darf jedoch nicht aus zusammengesetzten Elementen bestehen).
Wenn die Eingabe als Zahl interpretiert werden soll, muss sie entsprechend umgewandelt werden (die Schlüsselwörter sind hier `int` für eine Ganzzahl und `float` für eine Kommazahl). Leereingaben sowie nicht-Zahlen (außer wissenschaftliche Notationen wie `1e3`) führen zu einem Fehler. Wie wir solch einen Fehler abfangen, lernen wir in einem späteren Revision.
print("Bitte einen Text eingeben")
eingabe = input()
print("Dein Text:", eingabe)
print()
zahl = int(input("Deine Lieblingsganzzahl = "))
print(zahl)
print()
text = "Deine Lieblingskommazahl (bitte mit Punkt eingeben) = "
zahl = float(input(text))
print(zahl)
Damit können wir nun die erste Version des Programms fertigstellen.
Code Kopfrechnen 0.1
a = 3
b = 5
print ("Wieviel ist", a, "+", b, "?")
ergebnis = a + b
antwort = int(input("Dein Ergebnis = "))
print(f"Deine Antwort war {antwort}. Das richtige Ergebnis lautet {ergebnis}")
Die kompletten Grundlagen Python
Kopfrechnen Version 0.1
Additionsaufgabe mit zwei Zahlen stellen
- Variablen
- Ausgabe mit
print()
- Eingabe mit
input()
Link: https://kiwi-strategie.de/grundlagen-python-1-5/
Kopfrechnen Version 0.2
Additionsaufgabe mit zwei Zufallszahlen stellen und das Ergebnis bewerten
- Kommentare
- Bibliotheken einbinden (am Beispiel von
random
) - Verzweigungen mit
if
,else
undelif
Link: https://kiwi-strategie.de/grundlagen-python-2-5/
Kopfrechnen Version 0.3
Mehrere Additionsaufgaben stellen und falsche Eingabeformate zurückweisen
- Schleifen mit
for
undwhile
- Fehlerbehandlung
Link: https://kiwi-strategie.de/grundlagen-python-3-5/
Kopfrechnen Version 0.4
Beliebig viele Aufgaben stellen mit abschließender Gesamtbewertung
- Funktionen (mit Parametern und Rückgabewerten)
- Programmierstil (PEP, Zen of Python)
Link: https://kiwi-strategie.de/grundlagen-python-4-5/
Kopfrechnen Version 1.0
Weitere Aufgabetypen abfragen sowie Spielstand laden und speichern
- komplexere Datenstrukturen (Listen und Dictionaries)
- externe Daten lesen und schreiben
Schreibe einen Kommentar