написанна первая функция load_data(filepath: str) -> list[dict]:

This commit is contained in:
teabag 2026-04-18 10:30:20 +03:00
parent edf6bac3e4
commit 4a45166c01

39
main.py
View File

@ -1,7 +1,44 @@
# 1. Читает текстовый файл с данными (каждая строка: имя,отдел,зарплата,стаж). # 1. Читает текстовый файл с данными (каждая строка: имя,отдел,зарплата,стаж).
# Возвращает список словарей: [{"name": str, "dept": str, "salary": float, "exp": float}, ...]. # Возвращает список словарей: [{"name": str, "dept": str, "salary": float, "exp": float}, ...].
from sys import exec_prefix
def load_data(filepath: str) -> list[dict]: def load_data(filepath: str) -> list[dict]:
pass employees = []
filepath = "data/employees.txt"
try:
with open(filepath, "r", encoding="utf-8") as file:
for line_number, line in enumerate(file, 1):
# Чищу строку от пробелов по краям и скипаю пустые строки, а то хз кто там этот емплоес.тииксти писал
line = line.strip()
if not line:
continue
try:
# делим строку по запятой
parts = [p.strip() for p in line.split(",")] # зачем нейронки если всю эту строку мне пайчарм вставил после знака равно???
if len(parts) != 4: # ну вдруг там не 4 колонки
print(f"Ошибка в строке {line_number}: надо 4 значения, а получил {len(parts)}.")
continue
employee = {
"name": parts[0],
"dept": parts[1],
"salary": float(parts[2]),
"exp": float(parts[3])
}
employees.append(employee)
except ValueError as e:
print(f"Ошибка преобразования типов в строке {line_number}: {e}")
except FileNotFoundError:
print(f"Ошибка: Файл по адресу '{filepath}' не найден.")
except Exception as e:
print(f"Произошла непредвиденная ошибка: {e}")
return employees
# 2. Возвращает новый список, содержащий только сотрудников указанного отдела. # 2. Возвращает новый список, содержащий только сотрудников указанного отдела.
def filter_by_department(employees: list[dict], department: str) -> list[dict]: def filter_by_department(employees: list[dict], department: str) -> list[dict]: