PYTHON Napisz program księgowy który przyjmuje jako argument listę dwuwymiarową pracowników i godzin przepracowanych przez nich każdego dnia, a w wyniku wykonania wyświetla pracownika i liczbę przepracowanych przez niego godzin w kolejności malejącej.
# Przyjmujemy listę dwuwymiarową jako argument
def ksiegi_pracownikow(pracownicy):
# Inicjalizujemy słownik, w którym będziemy przechowywać sumę godzin przepracowanych przez każdego pracownika
godziny = {}
# Dla każdego pracownika w liście
for pracownik in pracownicy:
# Pobieramy imię pracownika i liczbę godzin przepracowanych przez niego
imie, godz = pracownik
# Jeśli pracownik już jest w słowniku, dodajemy do jego dotychczasowej sumy godzin nową liczbę godzin
if imie in godziny:
godziny[imie] += godz
# W przeciwnym razie dodajemy pracownika do słownika z liczbą godzin, jaką przepracował
else:
godziny[imie] = godz
# Sortujemy słownik według liczby godzin w kolejności malejącej
posortowane = {k: v for k, v in sorted(godziny.items(), key=lambda item: item[1], reverse=True)}
# Dla każdego pracownika w posortowanym słowniku
for pracownik in posortowane:
# Wyświetlamy imię pracownika i liczbę przepracowanych przez niego godzin
print(pracownik + ": " + str(posortowane[pracownik]) + " godzin")
# Przykładowa lista pracowników i godzin przepracowanych przez nich
pracownicy = [("Anna", 10), ("Jan", 20), ("Anna", 30), ("Tomasz", 15)]
# Wywołujemy naszą funkcję księgową z przykładową listą jako argumentem
ksiegi_pracownikow(pracownicy)