@Sofgoras

Как реализовать такое на Python?

819093a77bec4766b875d5bfeae0d2e9.jpg
  • Вопрос задан
  • 1265 просмотров
Решения вопроса 1
Sly_tom_cat
@Sly_tom_cat
.
Мой вариант:

girls = { 'Женя': {'Брюнетка', 'Толстая', 'Умная'},
          'Лера': {'Блондинка', 'Худая', 'Глупая'},
          'Даша': {'Блондинка', 'Худая', 'Умная'}}

def search(*words):
  return ', '.join([name for name, features in girls.items() if features >= set(words)])

print(search('Худая', 'Блондинка'))
print(search('Умная'))
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@fireSparrow
dct = {
        'Женя': {'Брюнетка', 'Толстая', 'Умная'},
        'Лера': {'Блондинка', 'Худая', 'Глупая'},
        'Даша': {'Блондинка', 'Худая', 'Умная'},
}


def search(string):
  res = set()
  str_set = string.replace(' ', '').split(',')
  for name, features in dct.items():
    if any([f in str_set for f in features]):
      res.add(name)
  return ', '.join(list(res))


print(search('Худая, Блондинка'))
print(search('Умная'))
Ответ написан
dio4
@dio4
team leader, system engineer, master of sports
реализовать на множествах set{}. Их пересечение и будет искомое.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы