Задать вопрос
@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, 'Хабаровск')

результат получается такой:(
В городе Хабаровск у меня есть друг, но мне туда не надо.
В городе Хабаровск у меня есть друг, но мне туда не надо.
В городе Хабаровск у меня есть друг, но мне туда не надо.
В городе Хабаровск живёт Алина. Едем в гости!
В городе Хабаровск у меня есть друг, но мне туда не надо.
  • Вопрос задан
  • 3159 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 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 не мог понять в чём отличия, пока не пошёл на сайт сравнения текстов онлайн. Как тебе такое Илон Маск?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Greenway Global Новосибирск
от 150 000 ₽
SPA2099 Москва
До 100 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽