Definieren Sie die folgenden Funktionen:
max3
mit drei Parametern x
, y
und z
zur Berechnung des Maximums der drei Parameter.nicht
, und
und oder
für logische Negation, Konjunktion und Disjunktion von Wahrheitswerten ohne Verwendung vordefinierter logischer Operatoren.sumUpTo
mit einem Parameter n
zur Berechnung der Summe der Zahlen von 1
bis n
.factorial
mit einem Parameter n
zur Berechnung der Fakultät von n
.Testen Sie Ihre Definitionen in der interaktiven python-Shell und geben Sie einige Beispielaufrufe an.
Definieren Sie eine Funktion heronIter
mit zwei Parametern x
und eps
zur Wurzel-Iteration nach dem Heron-Verfahren. Der Rückgabewert der Funktion soll die Wurzel aus x
mit der Genauigkeit eps
sein.
Definieren Sie eine Funktion sum_from_to
mit zwei Parametern n
und m
, die als Ergebnis die Summe aller Zahlen von n
bis m
zurückgibt. Zum Beispiel soll das Ergebnis des Aufrufs sum_from_to(4,7)
gleich 22
sein, weil 4+5+6+7 = 22
ist.
Setzten Sie voraus, dass n
und m
ganze Zahlen sind für die n <= m
gilt. Sie brauchen diese Bedingung in Ihrer Implementierung also nicht zu testen.
Implementieren Sie die Funktion einmal mit einer Zählschleife und einmal mit einer bedingten Schleife. Welche Variante bevorzugen Sie und warum?
Schreiben Sie unter Verwendung einer geeigneten Schleife eine Funktion binary
mit einem Parameter n
, die eine positive ganze Zahl als Argument erwartet und deren Binärdarstellung als Zeichnekette zurück gibt. Hier sind einige Beispielaufrufe, die das Verhalten der Funktion verdeutlichen:
>>> binary(1)
'1'
>>> binary(2)
'10'
>>> binary(3)
'11'
>>> binary(4)
'100'
>>> binary(42)
'101010'