Inhaltsverzeichnis

Python Basics 2021

Einstieg nach einem Semester IF GF

Mit diesem Einstieg versuchen wir, das bisher Gelernte in einem etwas grösseren Programm anzuwenden. Gleichzeitig gilt es, die Interaktion mit dem Benutzer ordentlich zu gestalten (soweit das mit einem Terminal überhaupt möglich ist…). In den weiteren Aufgaben sollen die Eingaben geprüft und falls nötig zurückgewiesen werden, und es kommen immer neue Features hinzu.

Wir arbeiten mit Python in Visual Studio Code - das muss also zunächst installiert sein.

Aufgabe 1

Programmiere einen kleinen Taschenrechner.

Aufgabe 2.1

Zwischenaufgabe: Funktionen

Aufgabe 2.2

"""
def get_int_value(caption):
Diese Funktion zeigt dem Benutzer einen Text (Parameter caption) an und fordert ihn auf, eine Zahl einzugeben. Die Eingabe wird so lange wiederholt, bis eine gültige Zahl eingegeben wurde oder die Eingabe vom Benutzer mit "q" abgebrochen wurde.
Zurückgegeben, wird entweder die Zahl oder q.
Die Funktion soll eine weitere Funktion validate_int() verwenden (s. unten).
 
Parameter:
caption     String, der dem Benutzer für die Eingabe angezeigt wird
 
Rückgabewerte: Integer, Boolean
num     eingegebene Zahl, wenn quit False ist
quit    True    Benutzer hat mit "q" abgebrochen
        False   Zahl steht in num
"""
 
 
def get_int_value(caption):
    pass
 
 
"""
def validate_int(i):
Diese Funktion überprüft, ob der String i in eine Zahl umgewandelt werden kann. Falls ja, wird sie zurückgegeben; falls nein, wird ein Fehler zurückgegeben.
 
Parameter:
i       String, der in eine Zahl umgewandelt werden soll
 
Rückgabewerte: Integer, Integer
num     ermittelte Zahl, bzw. 0 bei Fehler
err     0   kein Fehler, Zahl ermittelt
        -1  Fehler, String i enthält Zeichen, die nicht in Zahlen umgewandelt werden können
"""
 
 
def validate_int(i):
    pass

Aufgabe 3

Für diese Aufgabe benötigen wird drei neue Funktionen:

def get_operator(caption)            # analog zu get_int_value(caption), aber für Operatoren

und darin

def validate_op(s)                   # analog zu validate_int(i), aber für Operatoren

und schliesslich für die eigentliche Berechnung:

def calc_result(n1, n2, op)          # untersucht op, berechnet das passende Ergebnis und gibt es zurück

Aufgabe 4

Aufgabe 5

Aufgabe 6