# Ausgangslage salaries_1 = {'Anna': 2000, 'Mark': 3000, 'Judith': 3500, 'Thomas': 2500} salaries_2 = {'Barbara': 3000, 'Elke': 3300, 'Michael': 2800, 'Johann': 2000} # Aufgabe 1: salaries_all = salaries_1.copy() salaries_all.update(salaries_2) print(salaries_all) print("-" * 50) # Aufgabe 2: employee = "" max_salary = 0 sum_salary = 0 for name, salary in salaries_all.items(): if salary > max_salary: max_salary = salary employee = name sum_salary += salary print("Topverdiener:", employee, max_salary) print("-" * 50) # Aufgabe 3: print("Summe:", sum_salary) # Aufgabe 3 alternativ: print("Summe:", sum(salaries_all.values())) print("-" * 50) # Aufgabe 4: salaries_new = {} for key in salaries_all: salaries_new[key] = salaries_all[key] * 1.1 # Aufgabe 5: heading = "Name Gehalt" print(heading) print("-" * len(heading)) for name, salary in salaries_new.items(): print(name.ljust(8), int(salary)) print("-" * 50) # Aufgabe 6: heading = "Name Gehalt" print(heading) print("-" * len(heading)) for name, salary in salaries_all.items(): print(name.ljust(8), int(salary)) print("-" * 50) # Aufgabe 5 & 6 mit Funktion def print_salary_list(data, col_width=8): """Print a formatted list of employees and their salary. Expects a a dictionary as the first argument: { "name": salary, ... } """ heading = "Name".ljust(col_width) + " Gehalt" print(heading) print("-" * len(heading)) for name, salary in data.items(): print(name.ljust(col_width), int(salary)) print_salary_list(salaries_new, 10) print("-" * 50) print_salary_list(salaries_all, col_width=10) print("-" * 50) # Bonusaufgabe 1: def print_ordered_salary_list(data, col_width=8): heading = "Name".ljust(col_width) + "Gehalt" print(heading) print("-" * len(heading)) salary_first = [] for name, salary in data.items(): salary_first.append((salary, name)) for salary, name in sorted(salary_first, reverse=True): print(name.ljust(col_width), int(salary)) print_ordered_salary_list(salaries_new) print("-" * 50) # Bonusaufgabe 2: def print_enumerated_salary_list(data, col_width=8): heading = "Nr. " + "Name".ljust(col_width) + "Gehalt" print(heading) print("-" * len(heading)) salary_first = [] for name, salary in data.items(): salary_first.append((salary, name)) for i, (salary, name) in enumerate(sorted(salary_first, reverse=True)): print(str(i+1).rjust(3), name.ljust(col_width), int(salary)) print_enumerated_salary_list(salaries_new) print("-" * 50) # Bonusaufgabe 3: print("Gehaltsdurchschnitt:", sum(salaries_new.values()) / len(salaries_new)) print("-" * 50) # Bonusaufgabe 4: def print_extended_salary_list(data, col_width=8): mean_salary = sum(data.values()) / len(data) heading = "Nr. " + "Name".ljust(col_width + 1) + "Gehalt".ljust(col_width +1) + "% d. ΓΈ" print(heading) print("-" * len(heading)) salary_first = [] for name, salary in data.items(): salary_first.append((salary, name)) for i, (salary, name) in enumerate(sorted(salary_first, reverse=True)): print(str(i+1).rjust(3), name.ljust(col_width), str(int(salary)).ljust(col_width), round(salary / (mean_salary / 100), 2)) print_extended_salary_list(salaries_new)