# Aufgabe 1 fp = open("../uebungen/employee_skills.txt", encoding="utf-8") contents = fp.read() fp.close() print("Länge:", len(contents)) print("-" * 50) # Alternativ: with open("../uebungen/employee_skills.txt") as fp: contents = fp.read() print(contents) print("-" * 50) # Aufgabe 2 with open("../uebungen/employee_skills.txt") as fp: i = 0 for line in fp: line = line.strip() if not line: continue i += 1 print("Nicht leere Zeilen:", i) print("-" * 50) # Aufgabe 3 employees = [] with open("../uebungen/employee_skills.txt") as fp: for line in fp: if not line.strip(): continue name = line.split(":")[0].strip() employees.append(name) employees.sort() for name in employees: print(name) print("-" * 50) # Aufgabe 4 employee_salaries = {} with open("../uebungen/salaries.txt") as fp: for line in fp: if not line.strip(): continue name, salary = line.strip().split(":", 1) name = name.strip() salary = int(salary.strip()) employee_salaries[name] = salary print("Min. Gehalt:", min(employee_salaries.values())) print("Max. Gehalt:", max(employee_salaries.values())) print("-" * 50) # Aufgabe 5 employee_skills = {} with open("../uebungen/employee_skills.txt") as fp: for line in fp: if not line.strip(): continue name, skills = line.strip().split(":", 1) name = name.strip() skills = [item.strip() for item in skills.split(",")] employee_skills[name] = skills # Aufgabe 6 employees = {} for key in employee_salaries: salary = employee_salaries.get(key, 0) skills = employee_skills.get(key) employees[key] = {"skills": skills, "salary": salary} print("-" * 50) # Aufgabe 6 employee_salaries = {} try: with open("../uebungen/salaries-errors.txt") as fp: for i, line in enumerate(fp): # remove whitspace at satrt / end of line line = line.strip() # ignore empty / whitespace-only lines # and comment lines if not line or line.startswith("#"): continue try: name, salary = line.strip().split(":", 1) except ValueError as exc: print(f"Warning: could not parse line {i+1}: {exc}") else: name = name.strip() try: salary = salary.strip() salary = salary.strip("$€") salary = int(salary) except (ValueError, TypeError) as exc: print(f"Warning: could not parse data on line {i+1}: {exc}") else: employee_salaries[name] = salary except FileNotFoundError as exc: print(f"Could not open file: {exc}") print("Min. Gehalt:", min(employee_salaries.values())) print("Max. Gehalt:", max(employee_salaries.values())) print("-" * 50)