Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 20, 2016 07:22:39

Monkey_Dank
Зарегистрирован: 2016-02-16
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Включить в словарь несколько поколений

По книге Майкла Доусона, есть задача в которой к имеющимся родственным связям (сын - отец) нужно добавить “деда”, используя все тот же словарь. С первой частью я справился, а вот как добавить связь (внук - дед) ? Подскажите

family = {"Джони": "Гаденыш",
          "Филя": "Сеня",
          "люк": "дарт"}
choice = None
while choice != "0":
    print(
    """
    Выберите требуемый пункт
    0 - Выход
    1 - Поиск по имени
    2 - Добавить значение
    3 - Замена значения
    4 - Удаление значения
    5 - Кто твой дед?
    """
    )
    choice = input("Введите ")
    # Поиск по имени
    if choice == "1":
        name = input("Введите имя: ")
        if name in family:
            definition = family[name]
            print("\n",name, "отец", definition)
        else:
            print("\nНет такого имени: ", name)
    # Добавить значение
    if choice == "2":
        name = input("Введите имя сына: ")
        if name not in family:
            definition = input("\nВведите имя отца: ")
            family [name] = definition
            print("\n", name, " добавлен в словарь")
        else:
            print("Такое имя уже есть!")
    # Замена значения
    if choice == "3":
        name = input("Какое имя сына вы хотите заменить? ")
        if name in family:
            definition = input("\nВведите имя отца: ")
            family [name] = definition
            print("\n", name, " переопределен")
        else:
            print("\nТакого имени еще нет!")
    # Удаление значения
    if choice == "4":
        name = input("Какое имя хотите удалить? ")
        if name in family:
            del family[name]
            print("\n",name," удалено")
        else:
            print("Такого имени: ", name, " нет")
            
    # Кто твой дед?
            
input("\n\nenter")

Офлайн

#2 Фев. 20, 2016 07:43:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Включить в словарь несколько поколений

god = dict(name="Jehovah", father=None)
isaak = dict(name="Isaak", father=god)
jakob = dict(name="Jakob", father=isaak)
judas = dict(name="Judas", father=jakob)
fares = dict(name="Fares", father=judas)
def get_grandfather(person):
    if person["father"] is None or person["father"]["father"] is None:
        print("%s has no grandfather" % person["name"])
        return
    print("Grandfather of %s is %s" % (person["name"], person["father"]["father"]["name"]))
for person in (god, isaak, jakob, judas, fares):
    get_grandfather(person)



Офлайн

#3 Фев. 20, 2016 11:21:56

Monkey_Dank
Зарегистрирован: 2016-02-16
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Включить в словарь несколько поколений

FishHook
Спасибо, некоторые конструкции мне еще не знакомы

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version