Skip to content

Commit 991276a

Browse files
author
Alexey Chernykh
committed
fixed company.py, for_dict_challenges.py +last task
1 parent 867a711 commit 991276a

File tree

2 files changed

+36
-30
lines changed

2 files changed

+36
-30
lines changed

company.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,50 +69,51 @@
6969
department_salary = []
7070
for employer in department['employers']:
7171
department_salary.append(employer['salary_rub'])
72-
print(f'Отдел {department["title"]} - минимальная зарплата {sorted(department_salary)[0]}')
72+
print(f'Отдел {department["title"]} - минимальная зарплата {min(department_salary)}')
7373

7474
for department in departments: # task 8
7575
department_salary = []
7676
avg_salary = 0
7777
for employer in department['employers']:
7878
department_salary.append(employer['salary_rub'])
7979
avg_salary = sum(department_salary) / len(department_salary)
80-
min_salary = sorted(department_salary)[0]
81-
max_salary = sorted(department_salary)[-1]
80+
min_salary = min(department_salary)
81+
max_salary = max(department_salary)
8282
print(f'Отдел {department["title"]}: минимальная зарплата {min_salary}')
8383
print(f'Отдел {department["title"]}: максимальная зарплата {max_salary}')
8484
print(f'Отдел {department["title"]}: cредняя зарплата {int(avg_salary)}')
8585

8686
avg_salary = 0 # task 9
87-
department_salary = []
87+
salary = []
8888
for department in departments:
8989
for employer in department['employers']:
90-
department_salary.append(employer['salary_rub'])
91-
avg_salary = sum(department_salary) / len(department_salary)
90+
salary.append(employer['salary_rub'])
91+
avg_salary = sum(salary) / len(salary)
9292
print(f'Средняя зарплата компании {avg_salary}')
9393

94-
salary_over_90 = [] # task 10
94+
salary_cap = [] # task 10
9595
for department in departments:
9696
for employer in department['employers']:
9797
if employer['salary_rub'] > 90000:
98-
salary_over_90.append(employer["position"])
99-
print(f'{", ".join(salary_over_90)} получают больше 90К')
98+
salary_cap.append(employer["position"])
99+
print(f'{", ".join(salary_cap)} получают больше 90К')
100100

101-
for department in departments: # task 11
102-
girls = ['Michelle', 'Nicole', 'Christina', 'Caitlin', ]
101+
girls = ['Michelle', 'Nicole', 'Christina', 'Caitlin', ] # task 11
102+
for department in departments:
103103
girl_salary = []
104104
for employer in department['employers']:
105105
if employer['first_name'] in girls:
106106
girl_salary.append(employer['salary_rub'])
107-
avg_girls_salary = sum(girl_salary) / len(girl_salary)
107+
avg_girls_salary = sum(girl_salary) / len(girl_salary)
108108
print(f'Средняя зарплата девушек по {department["title"]} составляет: {int(avg_girls_salary)}')
109109

110110
end_vowel_letter_in_last_name = []
111111
for department in departments: # task 12
112112
for employer in department['employers']:
113113
if employer['last_name'][-1] in 'aeiouy':
114114
end_vowel_letter_in_last_name.append(employer["first_name"])
115-
print(f'Фамилии сотрудников {", ".join(end_vowel_letter_in_last_name)} оканчиваются на гласную букву')
115+
end_vowel_letter_in_last_name_set = set(end_vowel_letter_in_last_name)
116+
print(f'Фамилии сотрудников {", ".join(end_vowel_letter_in_last_name_set)} оканчиваются на гласную букву')
116117

117118

118119

for_dict_challenges.py

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def max_name(students):
3636

3737
names_counter = dict()
3838
for name in name_of_students:
39-
if name in names_counter:
39+
if names_counter.get(name):
4040
names_counter[name] += 1
4141
else:
4242
names_counter[name] = 1
@@ -52,8 +52,8 @@ def max_name(students):
5252
max_names.append(name)
5353
return f'Самое частое имя среди учеников: {"".join(max_names)}'
5454

55-
5655
print(max_name(students))
56+
5757
# Задание 3
5858
# Есть список учеников в нескольких классах, нужно вывести самое частое имя в каждом классе.
5959
# Пример вывода:
@@ -76,14 +76,13 @@ def max_name(students):
7676
{'first_name': 'Саша'},
7777
],
7878
]
79-
print(max_name(school_students[0]))
80-
print(max_name(school_students[1]))
81-
print(max_name(school_students[2]))
79+
for name in range(len(school_students)):
80+
print(max_name(school_students[name]))
8281

8382
# Задание 4
8483
# Для каждого класса нужно вывести количество девочек и мальчиков в нём.
8584
# Пример вывода:
86-
# Класс 2a: девочки 2, мальчики 0
85+
# Класс 2a: девочки 2, мальчики 0
8786
# Класс 2б: девочки 0, мальчики 2
8887

8988
school = [
@@ -99,19 +98,15 @@ def max_name(students):
9998
'Даша': False,
10099
}
101100

102-
male_gender = 0
103-
female_gender = 0
104-
105-
for class_i in range(len(school)):
106-
lst_of_class = [class_x for class_x in school[class_i]['students']]
107-
for i in range(len(lst_of_class)):
108-
if is_male.get(lst_of_class[i]['first_name']) == 1:
101+
for students in school:
102+
male_gender = 0
103+
female_gender = 0
104+
for name in students['students']:
105+
if is_male.get(name['first_name']):
109106
male_gender += 1
110107
else:
111108
female_gender += 1
112-
print(f'Класс {school[class_i]["class"]}: девочки {female_gender}, мальчики {male_gender}')
113-
male_gender = 0
114-
female_gender = 0
109+
print(f'Класс {students["class"]}: девочки {female_gender}, мальчики {male_gender}')
115110

116111

117112
# Задание 5
@@ -130,5 +125,15 @@ def max_name(students):
130125
'Олег': True,
131126
'Миша': True,
132127
}
133-
# ???
134128

129+
for students in school:
130+
male_gender = 0
131+
female_gender = 0
132+
for name in students['students']:
133+
if is_male.get(name['first_name']):
134+
male_gender += 1
135+
else:
136+
female_gender += 1
137+
boys_predominate = 'Больше всего мальчиков в классе '
138+
girls_predominate = 'Больше всего девочек в классе '
139+
print(f'{boys_predominate}{students["class"]}') if male_gender > female_gender else print(f'{girls_predominate}{students["class"]}')

0 commit comments

Comments
 (0)