Функцию написать в Python.

Приложения:

Ответы

Ответ дал: pinguinbird
1

Через удаление символов из шаблонного слова:

def anagrams(word, anagramsArray):

   validAnagrams = []

  for anagram in anagramsArray:

      s = word

      chk = True

      for symbol in anagram:

          try:

              i = s.index(symbol)

          except:

              chk = False

              break

          s = s[:i] + s[i + 1:]

      if chk == True and len(s) == 0: validAnagrams.append(anagram)

  return validAnagrams

Через подсчёт символов:

def anagrams(word, anagramsArray):

   validAnagrams = []

   for anagram in anagramsArray:

       chk = True

       for symbol in anagram:

           if word.count(symbol) != anagram.count(symbol):

               chk = False

               break

       if chk == True:

           for symbol in word:

               if word.count(symbol) != anagram.count(symbol):

                   chk = False

                   break

       if chk == True: validAnagrams.append(anagram)

   return validAnagrams


pinguinbird: попробуйте
pinguinbird: Вторую тоже поправил
pinguinbird: там действительно одна и та же логическая ошибка была
rbugfbfd: опять эта ошибка
[+] Test #1. OK
[+] Test #2. OK
[+] Test #3. OK
[ ] Test #4. Wrong answer
[+] Test #5. OK
[ ] Test #6. Wrong answer

4 of 6 test(s) passed.
rbugfbfd: Я попробую с преподавателем поговорить насчёт этого, решение пока себе оставлю в ворде
pinguinbird: ок, попробую ещё подумать, что там может быть не так...
rbugfbfd: Всё же, спасибо за решение)
pinguinbird: не за что, жаль не смог в полной мере помочь, но вообще очень странно....второе решение тоже с такой же ошибкой отваливается?
rbugfbfd: да
pinguinbird: ok...
Вас заинтересует