Skip to content

Commit f4da86c

Browse files
author
Alexey Chernykh
committed
correcting task 13, add functions
1 parent 0563d48 commit f4da86c

File tree

1 file changed

+45
-14
lines changed

1 file changed

+45
-14
lines changed

company_add_tasks.py

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,51 @@
4545

4646
# task 13. Вывести список отделов с суммарным налогом на сотрудников этого отдела.
4747

48-
tax_departments = {}
49-
for department in departments:
50-
department_salary = []
51-
for employer in department['employers']:
52-
department_salary.append(employer['salary_rub'])
53-
if department["title"] == 'IT department':
54-
tax_sum = sum(department_salary) * (taxes[0]["value_percents"] + taxes[1]["value_percents"]) / 100
55-
tax_departments["department"] = department["title"]
56-
tax_departments["tax"] = tax_sum
57-
else:
58-
tax_sum = sum(department_salary) * (taxes[0]["value_percents"] / 100)
59-
tax_departments["department"] = department["title"]
60-
tax_departments["tax"] = tax_sum
61-
print(f'По {tax_departments["department"]} суммарный налог на сотрудников равен {tax_departments["tax"]}')
48+
def departments_salary(departments):
49+
departments_salary = {}
50+
for department in departments:
51+
salary_lst = []
52+
for employer in department["employers"]:
53+
salary_lst.append(employer["salary_rub"])
54+
departments_salary[department["title"]] = sum(salary_lst)
55+
return departments_salary
56+
57+
58+
def departments_tax_rate(taxes, departments):
59+
taxes_for_department = {}
60+
61+
for tax in taxes:
62+
taxes_for_department[tax["department"]] = tax["value_percents"] / 100
63+
64+
taxes_for_department["All"] = taxes_for_department.pop(None)
65+
66+
department_taxes = {}
67+
departments_lst = [department["title"] for department in departments]
68+
69+
for department in departments_lst:
70+
dep_tax = []
71+
if True:
72+
dep_tax.append(taxes_for_department.get(department))
73+
dep_tax.append(taxes_for_department.get("All"))
74+
if None in dep_tax:
75+
dep_tax.remove(None)
76+
department_taxes[department] = sum(dep_tax)
77+
else:
78+
dep_tax.append(tax_dict.get("All"))
79+
department_taxes[department] = sum(dep_tax)
80+
return department_taxes
81+
82+
83+
def department_tax_burden(departments_salary, department_taxes):
84+
for department in departments_salary:
85+
tax_burden = departments_salary.get(department) * department_taxes.get(department)
86+
print(f'По {department} суммарный налог на сотрудников равен {tax_burden}')
87+
88+
89+
if __name__ == "__main__":
90+
dep_sal = departments_salary(departments)
91+
dep_tax = departments_tax_rate(taxes, departments)
92+
print(department_tax_burden(dep_sal, dep_tax))
6293

6394
# task 14. Вывести список всех сотрудников с указанием зарплаты "на руки" и зарплаты с учётом налогов.
6495

0 commit comments

Comments
 (0)