@NubasKontrabas

Как в словаре выбрать второй вариант через if-else? (Python, задача из Яндекс Практикум)?

Здравствуйте,

задача звучит так:
А не съездить ли в Хабаровск? Было бы здорово встретиться там с друзьями. Но живёт ли там хоть кто-то из них?
Научите Анфису решать этот вопрос — напишите функцию is_anyone_in(collection, city).
Функция должна принимать на вход словарь friends и название города, в который хочется поехать.
Для каждого неподходящего города в словаре функция должна напечатать фразу
В городе <название_города> у меня есть друг, но мне туда не надо.
Если кто-то из друзей живёт в запрошенном городе — функция должна напечатать фразу
В городе <название_города> живёт <имя_друга>. Едем в гости!

как сделать, чтобы при не совпадении с Хабаровском выводился другой город?
код выглядит так:
friends = {
    'Серёга': 'Омск', 
    'Соня': 'Москва', 
    'Дима': 'Челябинск', 
    'Алина': 'Хабаровск', 
    'Егор': 'Пермь'
}

def is_anyone_in(collection, city):
    for friend in collection:
        if collection[friend] == city: 
            print("В городе " + city + " живёт " + friend + ". Едем в гости!")
        else:
            print("В городе " + city + " у меня есть друг, но мне туда не надо.")
    
is_anyone_in(friends, 'Хабаровск')

результат получается такой:(
В городе Хабаровск у меня есть друг, но мне туда не надо.
В городе Хабаровск у меня есть друг, но мне туда не надо.
В городе Хабаровск у меня есть друг, но мне туда не надо.
В городе Хабаровск живёт Алина. Едем в гости!
В городе Хабаровск у меня есть друг, но мне туда не надо.
  • Вопрос задан
  • 2923 просмотра
Пригласить эксперта
Ответы на вопрос 2
@xawad
friends = {
'Серёга': 'Омск',
'Соня': 'Москва',
'Дима': 'Челябинск',
'Алина': 'Хабаровск',
'Егор': 'Пермь'
}

def is_anyone_in(collection, city):
for friend in collection:
if collection[friend] == city:
print("В городе " + collection[friend] + " живёт " + friend + ". Обязательно зайду в гости!")
else:
print("В городе " + collection[friend] + " у меня есть друг, но мне туда не надо.")

is_anyone_in(friends, 'Хабаровск')

не забудь правильно расставить отступы
Ответ написан
@ZeyNet
Перепутал () с [] и потерял 1.5 часа в повторном изучении курса по phyton. Потом нашёл ваш ответ и ещё минут 15 не мог понять в чём отличия, пока не пошёл на сайт сравнения текстов онлайн. Как тебе такое Илон Маск?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы