Not a member of GistPad yet?
Sign Up,
it unlocks many cool features!
- 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)
RAW Paste Data
Copied
Advertisement
