import os # 1. Запрашиваем ФИО пациента одной строкой (фамилия имя отчество через пробел) full_name_input = input("Enter the full name of the patient separated by space (Ivanov Ivan Ivanovich): ") # Разбиваем введённую строку на отдельные части по пробелам name_parts = full_name_input.strip().split() # 2. Проверяем, что введено ровно 3 слова (Фамилия Имя Отчество) if len(name_parts) != 3: print("There is no such patient!") else: # 3. Формируем имя папки пациента в формате Фамилия_Имя_Отчество # capitalize() приводит каждое слово к виду "Иванов" из "иванов" или "ИВАНОВ" formatted_name = name_parts[0].capitalize() + "_" + name_parts[1].capitalize() + "_" + name_parts[2].capitalize() # 4. Строим полный путь до папки с данными пациента: # <папка_скрипта>/materials/patients/<Фамилия_Имя_Отчество> patient_path = os.path.join(os.path.dirname(__file__), "materials", "patients", formatted_name) # 5. Проверяем, существует ли папка такого пациента if not os.path.isdir(patient_path): print("There is no such patient!") else: # 6. Путь до папки с приёмами (визитами) пациента visits_path = os.path.join(patient_path, "visits") # Собираем список предыдущих приёмов previous_appointments = [] if os.path.isdir(visits_path): # Проходим по всем файлам в папке visits for filename in os.listdir(visits_path): # Берём только .txt файлы if filename.endswith(".txt"): # Отбрасываем расширение .txt, чтобы осталась только дата previous_appointments.append(filename[:-4]) # Сортируем даты в хронологическом порядке (формат YYYY-MM-DD это позволяет) previous_appointments.sort() # 7. Если приёмов нет — это первый визит, программа завершается if not previous_appointments: print("This is the first appointement with the doctor") else: # 8. Иначе выводим список предыдущих приёмов на экран print("Previous doctor appointments:") for appointment in previous_appointments: print(appointment) # 9. Запрашиваем дату интересующего приёма date_input = input("Enter the date of the appointment you want to see: ") # 10. Строим путь до файла с нужной датой appointment_path = os.path.join(visits_path, date_input + ".txt") # 11. Проверяем, существует ли такой файл приёма if not os.path.exists(appointment_path): print("There was no such appointment with the doctor!") else: # 12. Читаем содержимое файла и выводим его на экран with open(appointment_path, 'r', encoding='utf-8') as f: content = f.read() print(content)