python-kurs-softed/uebungen/dictonaries.md

2.5 KiB

Übungen zu Dictionaries

Ausgangslage

Sie haben zwei Tabellen mit Personallisten jeweils mit Namen und Monatsgehältern als ein Python-Dictionary. Die Keys sind die Namen der Angestellten (strings), die Werte das jeweilige Monatsgehalt (integer):

salaries_1 = {'Anna': 2000, 'Mark': 3000, 'Judith': 3500, 'Thomas': 2500}
salaries_2 = {'Barbara': 3000, 'Elke': 3300, 'Michael': 2800, 'Johann': 2000}

Aufgabe 1:

Schreiben Sie ein Programm, das die beiden Dictionaries in einem neuen Dictionary (salaries_all) zusammenführt und die Namen aller Mitarbeiter als Liste ausgibt.

Tipp: Machen Sie zunächst eine Kopie des ersten Dictionaries (dict.copy()) und fügen Sie dann die Einträge des zweiten Dictionaries der Kopie hinzu (dict.update()).

Aufgabe 2:

Schreiben Sie ein Programm, das den Namen und das Gehalt des Mitarbeiters mit dem höchsten Gehalt aus den gesamten Daten ermittelt und diese ausgibt (mit print).

Aufgabe 3:

Schreiben Sie ein Programm, das die Gesamtsumme aller monatlichen Gehälter ermittelt und diese ausgibt.

Aufgabe 4:

Schreiben Sie ein Programm, das das Gehalt aller Mitarbeiter um 10% erhöht und diese Daten in einem neuen Dictionary mit der selben Struktur speichert. Das ursprüngliche Dictionary soll nicht verändert werden.

Aufgabe 5:

Lassen Sie das Program dieses neue Dictionary in folgendem Format ausgeben:

Name    Gehalt
--------------
Anna    ???
Mark    ???
...

Tipp: verwenden Sie die Escape-Sequenz für Tabulatoren \t.

Aufgabe 6:

Lassen Sie das Programm die alten Gehälter in der gleichen Form ausgeben, um zu zeigen, dass das ursprüngliche Dictionary nicht verändert wurde.

Bonusaufgaben:

  1. Sortieren Sie die Liste nach Höhe des Gehalts (absteigend).

    Tipp: verwenden Sie die Funktion sorted() zum Sortieren.

  2. Nummerieren Sie die Listeneinträge in der Ausgabe, startend mit 1.

  3. Ermitteln Sie das durchschnittliche Gehalt nach der Erhöhung.

  4. Berechnen Sie, wieviel Prozent des durchschnitlichen Gehalts jeder Mitarbeiter verdient und geben diese Prozentzahl in einer zusätzlichen Spalte aus.

    Tipp: Sie können die Prozentzahlen in einem neuen, zusätzlichen Dictionary speichern oder, anstatt nur dem Gehalt, für jeden Mitarbeiter das Gehalt und die Prozent des Durchschnittsverdienstes als Tuple mit zwei Elementen als Wert im Dictionary ablegen.

Ressourcen

Hilfe zu Dictionaries: