Форум сайта python.su
0
По книге Майкла Доусона, есть задача в которой к имеющимся родственным связям (сын - отец) нужно добавить “деда”, используя все тот же словарь. С первой частью я справился, а вот как добавить связь (внук - дед) ? Подскажите
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")
Офлайн
568
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)
Офлайн
0
FishHookСпасибо, некоторые конструкции мне еще не знакомы
Офлайн