Создан файл с данными о сотрудниках компании
Созданы скелеты функций
This commit is contained in:
parent
c163b3a335
commit
edf6bac3e4
5
data/employees.txt
Normal file
5
data/employees.txt
Normal file
@ -0,0 +1,5 @@
|
||||
Иванов, Sales, 50000, 3.5
|
||||
Петрова, IT, 75000, 6.0
|
||||
Сидоров, Sales, 62000, 2.0
|
||||
Козлова, HR, 48000, 4.0
|
||||
Смирнов, Sales, 70000, 7.0
|
||||
46
main.py
46
main.py
@ -0,0 +1,46 @@
|
||||
# 1. Читает текстовый файл с данными (каждая строка: имя,отдел,зарплата,стаж).
|
||||
# Возвращает список словарей: [{"name": str, "dept": str, "salary": float, "exp": float}, ...].
|
||||
def load_data(filepath: str) -> list[dict]:
|
||||
pass
|
||||
|
||||
# 2. Возвращает новый список, содержащий только сотрудников указанного отдела.
|
||||
def filter_by_department(employees: list[dict], department: str) -> list[dict]:
|
||||
pass
|
||||
|
||||
# 3. Возвращает новый список с сотрудниками, чей стаж (exp) не меньше min_years.
|
||||
def filter_by_experience(employees: list[dict], min_years: float) -> list[dict]:
|
||||
pass
|
||||
|
||||
# 4. Вычисляет среднюю зарплату по переданному списку сотрудников. Если список пуст, возвращает 0.0.
|
||||
def calculate_average_salary(employees: list[dict]) -> float:
|
||||
pass
|
||||
|
||||
# 5. Возвращает словарь сотрудника с максимальной зарплатой. При пустом списке возвращает None.
|
||||
def find_highest_paid(employees: list[dict]) -> dict | None:
|
||||
pass
|
||||
|
||||
# 6. Группирует сотрудников по отделам. Возвращает словарь, где ключ – название отдела,
|
||||
# значение – список сотрудников этого отдела.
|
||||
def group_by_department(employees: list[dict]) -> dict[str, list[dict]]:
|
||||
pass
|
||||
|
||||
# 7. Увеличивает значение salary каждого сотрудника в переданном списке на bonus_percent процентов.
|
||||
# Изменяет исходные словари (модификация на месте). Функция ничего не возвращает.
|
||||
def add_bonus(employees: list[dict], bonus_percent: float) -> None:
|
||||
pass
|
||||
|
||||
# 8. Принимает словарь одного сотрудника, возвращает отформатированную строку:
|
||||
# "Имя: {name}, Отдел: {dept}, Зарплата: {salary:.2f} руб., Стаж: {exp} лет".
|
||||
def format_employee_string(employee: dict) -> str:
|
||||
pass
|
||||
|
||||
# 9. Возвращает новый список сотрудников, отсортированный по зарплате
|
||||
# (по возрастанию, если reverse=False, иначе по убыванию).
|
||||
def sort_by_salary(employees: list[dict], reverse: bool = False) -> list[dict]:
|
||||
pass
|
||||
|
||||
# 10. Сохраняет в файл по пути filepath текстовый отчёт:
|
||||
# для каждого сотрудника – строка, полученная функцией format_employee_string().
|
||||
# Если список пуст, записывает строку "Нет данных".
|
||||
def save_report(employees: list[dict], filepath: str) -> None:
|
||||
pass
|
||||
Loading…
Reference in New Issue
Block a user