вторник, 21 августа 2018 г.

Майкл Доусон - Программируем на Python, ответ на 3-е задание 5-ой главы...

# coding=utf-8
"""
Напишите программу "Кто твой папа?", в которой пользователь будет
вводить имя человека, а программа - называть отца этого человека.
Чтобы стало интересней, можно "научить" программу родственным
отношениям среди литературных персонажей, исторических персонажей,
исторических лиц и современных знаменитостей.
Предоставьте пользователю возможность добавлять,
заменять и удалять пары "сын-отец"."""

MENU = ("""
1 - Поиск отца человека по имени
2 - Изменение данных
3 - Удаление данных
4 - Добавить новые данные
5 - Выход
""")

family = {"Остап Бендер": "Турецкоподанный",
        "Люк Скайуокер": "Дарт Вейдер",
        "Солид Снейк": "Биг Босс"}

choice = None
son = ""
father = ""

while choice != 5:
    print(MENU)
    choice = int(input("Выберите пункт меню:"))

    # Поиск отца человека по имени.
    if choice == 1:
        son = input("Введите имя человека: ")
        if son in family:
            print("\nРодителем человека по имени", son, "является", family[son])
        else:
            print("Ошибка, такого человека нет в базе данных")

    # Изменение данных.
    elif choice == 2:
        son = input("Введите имя человека: ")
        if son in family:
            father = str(input("Введите новое имя его отца: "))
            family[son] = father
            print("\nРодителем человека по имени", son, "является", family[son])
        else:
            print("Ошибка, такого человека нет в базе данных")

    # Удаление данных.
    elif choice == 3:
        son = input("Введите имя человека: ")
        if son in family:
            del family[son]
            print("\nЗапись удалена")
        else:
            print("Ошибка, такого человека нет в базе данных")

    # Добавить новые данные.
    elif choice == 4:
        son = input("Введите имя человека: ")
        if son in family:
            print("\nТакая запись уже существует")
        else:
            father = str(input("Введите имя родителя: "))
            family[son] = father
            print("Добавлено в базу данных")

    # Выход.
    elif choice == 5:
        print("До свиданья!")

2 комментария:

  1. 3е и 4ое задание. С упоминанием деда в виде вложенного списка отец-дед в общий словарь. Добавление и вывод информации. Удаление и редактирование можно сделать по образцу, смысл понятен. Kasstorka@gmail.com
    https://pastebin.com/yQDnfr8N

    ОтветитьУдалить
  2. Вот мой вариант: https://pastebin.com/f5G7a6kK , правда я кое-где поленился, а где подумайте вы.

    ОтветитьУдалить