Übungsaufgaben zur Lektion 1

Vorab

Eine Anleitung für die Bearbeitung und Abgabe der Übunsgaufgaben in Python findet Ihr im Abgabebereich des Moodlekurses ( Link ).

Kurzform: Eine Aufgabe besteht immer aus einer "Funktion", die für einen definierten Input (Argumente) einen definierten Output zurückgeben soll (engl.: return). Überprüft die Korrektheit dieses Outputs und damit Eurer Lösung mit testme(funktionsname). Wenn Ihr fertig seid, erzeugt unter im Abschnitt Gesamtauswertung Euer Zertifikat und gebt es dann in Moodle zusammen mit diesem Notebook ab.

Hier ein Beispiel für eine Funktion: Die Funktion heißt beispiel, hat die Argumente (den Input) x und y und gibt die Variable ergebnis zurück. Das Ergebnis ist in diesem Fall die Summe der Argumente x und y.

In [4]:
def beispiel(x, y):
    ergebnis = x + y
    return(ergebnis)
In [5]:
beispiel(1,1)
Out[5]:
2
In [6]:
beispiel(2,-3)
Out[6]:
-1

Testzentrum importieren!

Damit die Tests bei Euch laufen, müsst Ihr folgende Zeile ausführen. Und dann geht es los!

In [ ]:
from testzentrum import *

...los geht's!

Hello, World? Goodbye, Excel!

Ändere die Funktion hello so, dass sie die Zeichenkette Goodbye, Excel! zurückgibt.

In [ ]:
def hello():
    return("Hello, Python!")
In [ ]:
# TEST
testme(hello)

Gute Argumente

Die Funktion summe soll die Summe der Argumente x und y zurückgeben. Aber etwas stimmt nicht. Ergänze die Funktion so, dass sie funktioniert.

In [ ]:
def summe():
    ergebnis = x + y
    return(ergebnis)
In [ ]:
# TEST
testme(summe)

Verkettung glücklicher Umstände

Die Funktion verketten soll die drei Strings (Zeichenketten) a, b und c zu einem String zusammmenfügen und zurückgeben.

In [ ]:
def verketten(a, b, c):
    ergebnis = ""
    return(ergebnis)
In [ ]:
# TEST
testme(verketten)

Gleich oder nicht gleich?

Erweitert die Funktion istgleich, so dass True zurückgibt, wenn die Argumente x und y gleich sind. Sonst soll sie False zurückgeben.

Achtung: Von nun erhaltet Ihr gelegentlich nur noch die Defintionszeile der Funktion - das pass statement müsst Ihr dann durch geeigneten Inhalt ersetzen (return statement nicht vergessen!).

In [ ]:
def istgleich(x, y):
    pass
In [ ]:
testme(istgleich)

Nerdzitate - Teil 1

Die folgende Funktion soll den Inhalt der Datei uebung2.txt zurückgeben, die im Verzeichnis umweltdv/01_environment/python/uebung/data/subdir liegt. Ergänze die Funktion lies so, dass der Inhalt der Datei zurückgegeben wird. Dazu musst Du die Variable pfad mit der korrekten relativen Pfadangabe ergänzen.

In [ ]:
def lies():
    pfad = "relativer/pfad/datei.txt"
    f = open(pfad, "r", encoding="utf8")
    ergebnis = f.read()
    f.close()
    print(ergebnis)
    return(ergebnis)
In [ ]:
testme(lies)

Nerdzitate - Teil 2

Die folgende Funktion lies_weiter ist der eben bearbeiteten ganz ähnlich. Nun sollst Du aber einen andern Teil ergänzen. Den korrekten Pfad zur Datei pfad erhält die Funktion als Argument. Ergänze nun die Funktion so, dass die zurückgegebene Variable ergebnis den Dateiinhalt zurückgibt.

In [ ]:
def lies_weiter(pfad):
    ergebnis = ""
    print(ergebnis)
    return(ergebnis)
In [ ]:
testme(lies_weiter)

Was für'n Typ??

Du hast ja im Seminar bereits erfahren, dass es unterschiedliche Datentypen gibt (z.B. int, str, float, bool). Die folgende Funktion irgendsontyp soll für ein belieges Argument input den Datentyp zurückgeben. Dafür musst Du nur nochmal nachschauen, wie man den Typ einer Variable ermittelt.

In [ ]:
def irgendsontyp(input):
    pass
In [ ]:
testme(irgendsontyp)

Noch was auf der Liste

Du hast ja im Seminar schon die Datentypen int, str, float und bool kurz kennengelernt. Zum Abschluss lernen wir noch einen Python-Datentyp kennen: die Liste (list). Eine Liste kann Einträge unterschliedlicher Datentypen enthalten. Auf diese Einträge kann man dann mit Hilfe eines Index (Positon des Eintrags) zugreifen. Das Besondere an Python: Der erste Eintrag hat die Position 0, der zweite dann 1 usw. Das ist anders als in R!

Am Besten mal ein Beispiel:

In [ ]:
eineliste = ["Uebungen erledigen!", "Einkaufen", "Fahrrad putzen"]
nottodoliste = ["Frühzeitig an die eigene Rente denken.",
                "Glastüren übersehen.",
                "Etwas kaufen, weil es »Aloe Vera« enthält."]
gemischtes = [1,2,"drei"]
In [ ]:
eineliste[2]
In [ ]:
nottodoliste[0]
In [ ]:
gemischtes[0:2]

Ergänze nun die Funktion typinderliste so, dass sie aus der Liste inlist den Eintrag für Index i auswählt und für diesen den Datentyp zurückgibt.

In [ ]:
def typinderliste(inlist, i):
    pass
In [ ]:
testme(typinderliste)

Gesamtauswertung

In [ ]:
get_certificate(testmysolutions=[hello, summe, verketten, istgleich, lies, lies_weiter, irgendsontyp, typinderliste],
                lesson=1)
In [ ]: