Python 101 Übungsblatt 5#

Dieses Übungsblatt: umfangreich. Aber es zeigt exemplrisch in etwa an, was Sie als Ergebnis von Python 101 in endlicher Zeit lösen können sollten.

Aufgabe: Ziehen aus der Urne ohne/mit Zurücklegen#

Was üben wir:

  • Arbeiten mit Listen, Auswählen von Elementen, Schleifen

  • Doku lesen und kennen

Gegeben ist die Funktion random.randint(a, b) (siehe https://docs.python.org/3/library/random.html), sowie

  • eine Liste population, z.B. population = list('aeiou)

  • eine natürliche Zahl n

Gesucht: Simulieren Sie mit random.randint die folgenden Funktionen aus https://docs.python.org/3/library/random.html:

  • my_coice: random.choice(population)

  • my_choices: random.choices(population, k=n) (also mit zurücklegen)

  • my_sample: random.sample(population, k=n) (also ohne zurücklegen)

  • my_shuffle: random.shuffle(population)

import random

Aufgabe: Wie sind die Würfel gefallen?#

Vorbereitung: Wir erzeugen mit der Bibliothek random.choices eine Liste Wuerfe von n = 20 Zahlen, wie sie beim Würfeln mit 2 Würfeln entstehen könnten:

n = 20
Seiten = [1,2,3,4,5,6]
Wuerfe_1 = random.choices(Seiten, k=n)
Wuerfe_2 = random.choices(Seiten, k=n)
Wuerfe = [ a + b for (a,b) in zip(Wuerfe_1, Wuerfe_2)]
print(Wuerfe)
[8, 12, 4, 10, 3, 5, 5, 5, 9, 6, 8, 6, 11, 9, 6, 2, 11, 6, 6, 8]

Aufgabe: Berechnen Sie auf Basis der Liste Wuerfe die einschlägigen grundlegenden Statistiken, wie z.B.:

  • den kleinsten und den größten Wert, die Summe, den Mittelwert, die Standardabweichung.

  • Mittelwert und Standardabweichung

  • Median

  • Standardisieren Sie die Liste (vgl. https://de.wikipedia.org/wiki/Standardisierung_(Statistik)): Ziehen sie von jeder Zahl den Mittelwert ab und teilen dann durch die Standardabweichung.

Aufgabe: Multi Value Fields in CSV-Dateien auflösen#

Gegeben eine CSV-Datei

  • mit Semikolon (;) als Trennzeichen

  • Es gibt multi value fields, in denen mehrere Werte durch Komma (,) getrennt sind.

Beispiel:

# das soll in der CSV-Datei 'drinnstehen:
Rundreisen_csv_quelle = """Jahr; Orte; km
2018 ; Berlin, Hamburg, Frankfurt; 1329; Pkw
2019 ; Frankfurt, Nürnberg, Berlin; 1234; Pkw
2020 ; Frankfurt, Paris; 1180; Pkw
2020 ; Frankfurt, Istanbul; 4600; Zug
"""

# CSV-Datei erzeugen:
# diese Daten als Datei ins aktuelle Verzeichnis schreiben
with open("Rundreisen.csv", "w") as quelle:
    quelle.write(Rundreisen_csv_quelle)

Was haben wir erzeugt?

Datei anschauen mit Lieblings-Texteditor, LibreOffice, Excel etc.

Gesucht:

  • Lesen Sie die Datei Rundreisen.csv ein.

  • Erzeugen Sie eine Datenstruktur, in der man z.B. leicht ermitteln kann:

    • In welchem Jahr wurde z.B. Frankfurt besucht?

Hinweis: Hier gibt es nicht die eine richtige Lösung. Überlegen Sie sich ggf. sogar mehrere Lösungen: Welche ist warum die schönste? (Zusatzfrage: Wann ist eine Lösung „schön“?)

Aufgabe: Codewars Nickname (freiwillig)#

Freiwllig (aber empfohlen, weil für zukünftige Studierende relevant):

  • Warum – oder warum nicht – konnten Sie aus Codewars Gewinn ziehen?

komplett freiwillig:

  • Wie lautet Ihr Nickname in Codewars?