''' Dla każdej wartości job_title, która występuje w danych,
    oblicz liczbę pracowników i średnią pensję.

   Spodziewane wyniki (może w innej kolejności):
   * President - 1 - 24000
   * Administation Vice President - 2 - 17000
   * Programmer - 5 - 5760
   * ... ????
'''

# W tej wersji wielokrotnie przeglądamy cała listę:
# najpierw, aby ustalić, jakie są joby, a następnie dla każdego joba licząc średnią tak, jak w zadaniu 4.
# Ta wersja nie jest optymalna pod względem wydajności.

from employees import read_csv

emps = read_csv('emps.csv')
# etap 1: zbieranie informacji o jobach
jobs = set()
for emp in emps:
    jobs.add(emp.job_title)
# print(jobs)

# etap 2: dla każdego joba liczymy liczbę oraz sumę pracowników i wypisujemy średnią
for job in jobs:
    ile = 0
    suma = 0
    for emp in emps:
        if emp.job_title == job:
            suma += emp.salary
            ile += 1
    srednia = suma / ile
    print(f'| {job:32} | {ile:2} | {srednia:8.2f} |')
