@Hips

Python проверка наличия элемента в словаре, ошибка?

Проверка наличия людей в городе.

ругается "Для получения списка городов вызовите метод values()". Подскажите куда его нужно правильно вставить?

def is_anyone_in(collection, city):
    if city in friends.values():  # если есть среди значений словаря collection
        for name in friends:  # переберите все ключи словаря
            if city == friends[name]:  # если соответствующее ключу значение равно city
                print('В городе ' + city + ' живёт ' + name + '.')
    else:
        print('Пока никого.')

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

is_anyone_in(friends, 'Хабаровск')
  • Вопрос задан
  • 2243 просмотра
Решения вопроса 1
@cython
Вам как первый аргумент передаётся collection, из которого нужно брать данные, а вы используете friends.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@PavelMos
values() уже вставлен и он должен выдать список значений (не ключей) словаря, только словарь тут, внутри функции, это аргумент collection - под таким именем словарь friends передаётся в функцию
if city in collection.values():  # если есть среди значений словаря collection
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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