Processing_data_about_compa.../main.py
2026-04-18 09:51:04 +03:00

47 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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