SkillAgentSearch skills...

PythonNotebook

Implementing simple notebook operations in Python

Install / Use

/learn @KIRIN17/PythonNotebook
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

В данной лабораторной работе реализован простой телефонный справочник.

Телефонным справочником является файл, хранящийся на жестком диске, который содержит информацию, соотносящую идентификатор человека (например, имя) с некоторыми данными о нем: номер телефона, дата рождения и т.д.

Необходимо разработать программу, которая будет предоставлять консольный интерфейс для работы с этим файлом.

Каждая запись в справочнике должна обладать следующими полями:

  • Имя (только латинские буквы, цифры и пробелы, первая буква — заглавная)
  • Фамилия (только латинские буквы, цифры и пробелы, первая буква — заглавная)

МВ: Пара (Имя, Фамилия) является уникальным идентификатором записи в справочнике.

  • Номер телефона (состоит из 11 цифр без знака +) МВ: При заполнении обязательна проверка на корректность номера и автозамена «+7» в начале номера на «8».

  • Дата рождения (полная —число, месяц и год). Поле является опциональным, т. его заполнение не обязательно, оно может оставаться пустым. МВ: При заполнении обязательна проверка на корректность даты.

................................................................................

Консольный интерфейс:

  • Поднонсольным интерфейсом понимается следующее: в интерпретаторе/командной строне/терминале запускается на выполнение программа (скрипт), которая предлагает пользователю конечный набор команд для работы со справочником.

  • При вводе определенной команды (например, «добавить новую запись») программа выполняет соответствующие действия, необходимые для реализации этой команды.

  • После выполнения введенной номанды программа снова предлагает пользователю выбрать командуи ожидает ввода.

  • Программа должна заканчивать свое выполнение только после ввода специальной команды (например, «ий».

Требования к программе:

  1. При запуске программы (скрипта), она должна считывать содержимое: телефонного справочника из файла, хранящего на жестком диске. Файл может как ‘содержать записи (в корректном виде), таки быть пустым.

  2. При завершении работы программы и/или при завершении выполнении команды, изменяющей справочник, все изменения в справочнике должны быть сохранены в файл (тот, из которого справочник считывается в начале).

  3. Минимальный набор поддерживаемых команд для работы со справочником:

  • Просмотр всех записей справочника: вывод всего справочника так, чтобы было читабельно.

  • Поиск по справочнику. Поиск может осуществляться по любому из полей, а также по нескольким полям одновременно (например, найти запись с именем «А» и фамилией «Б»). В результате поиска должны быть выведены найденные записи со. значением полей.

  • Добавление новой записи. МВ: Обязательна проверка на то, что такая запись не содержится в справочнике (по уникальному идентификатору). Если такая запись уже содержится в справочнике, сообщить об этом пользователю и предложить: изменить существующую запись, изменить (Имя, Фамилия) новой записи или вернуться квыбору команды. МВ: При вводе Имени и Фамилии обязательна автозамена первой буквы на заглавную.

  • Удаление записи из справочника по Имени и Фамилии

  • Изменение любого поля в определенной записи справочника

  • Вывод возраста человека (записи) по Имени и Фамилии

  1. Если пользователь неправильно ввел команду, программа должна проинформировать его о некорректном вводе и вернуться в состояние ожидания ввода команды.

  2. Ни одна операция не заканчивается ошибкой или вылетом программы при поступлении любых входных данных — либо операция должна быть корректно обработана, либо должно быть выведено сообщение об ошибке (желательно информативное), и программа возвращена в состояние ожидания ввода.

Related Skills

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated5y ago
Forks0

Languages

Python

Security Score

55/100

Audited on Jul 31, 2020

No findings