84 lines
2.2 KiB
Markdown
84 lines
2.2 KiB
Markdown
|
# Ü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>
|