# Übungen zu Sets


## Ausgangslage

Sie haben eine Liste mit Mitarbeitern und ihren Skills sowie eine Liste
von Planstellen im Betrieb mit erforderlichen Skills:

```py
employee_skills = {
    'Anna': ("buchhaltung", "management", "marketing"),
    'Mark': ("management", "marketing"),
    'Judith': ("management", "buchhaltung", "human resources"),
    'Thomas': ("software development", "it support"),
    'Barbara': ("software development", "management"),
    'Elke': ("management", "buchhaltung", "it support"),
    'Michael': ("software development", "buchhaltung"),
    'Johann': ("it support", "software development"),
}

job_skills = {
    "office manager": ("management", "buchhaltung"),
    "ceo": ("management", "human resources"),
    "developer": ("software development",),
    "cto": ("software development", "system design", "human resources"),
    "support desk": ("it support",),
}
```


## Aufgabe 1:

Schreiben Sie ein Programm, das ermittelt, welche Menge an Skills bei den
Mitarbeitern insgesamt vorhanden sind. Jeder Skill wird nur einmal
berücksichtigt.

Verwenden Sie zum Speichern ein Set und geben Sie den Inhalt diese Sets aus.
Wieviele unterschiedliche Skills sind vorhanden?


## Aufgabe 2:

Schreiben Sie ein Programm, das ermittelt, welche Menge an Skills benötigt
werden, um die Anforderungen für alle Planstellen zu erfüllen.

Verwenden Sie zum Speichern ein Set und geben Sie den Inhalt diese Sets aus.
Wieviele unterschiedliche Skills werden insgesamt benötigt?


## Aufgabe 3:

Schreiben Sie ein Programm, das die beiden Sets aus Aufgabe 1 und 2 vergleicht
und feststellt, welche Skills im Mitabeiterstamm fehlen.


## Aufgabe 3:

Schreiben Sie ein Programm, das die beiden Sets aus Aufgabe 1 und 2 vergleicht
und feststellt, welche vorhandene Skills der Mitarbeiter von keiner Planstelle
abgedeckt werden.


## Aufgabe 4:

Schreiben Sie ein Programm, das für jede Planstelle herausfindet, welche
Mitarbeiter die notwendigen Skills für die Stelle besitzen.

Speichern Sie das Ergebnis in einem Dictionary der Form:

```py
candidates = {
    "job 1": ("name 1", "name 2", ...),
    "job 2: ("name 1", "name 3", ...),
    ...
}
```


## Ressourcen

Hilfe zu Dictionaries:

* <https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset>
