как найти слова, которые составлены из письма, точно сталкиваются друг с другом? (python)

Я пробовал так много способов сделать эту функцию, но она всегда терпела неудачу.

Например:

«Он мальчик».

«запугивать его»

Первое, что задается по этому вопросу, – найти слова, которые спариваются с таким «мальчиком», «b» будет сопрягаться с «y», а «o» является непарным, а если «хулигана», «b» пара с «y "и" u "с" l ", но первая" l "непарена

Тогда первое письмо в словах и последнее письмо в словах должно соответствовать этому требованию:

word1= ('a','b','c','d','e','f','g','h','i','j','k','l','m') word2= ('z','y','x','w','v','u','t','s','r','q','p','o','n') 

«a» должен только соединяться с «z», «b» должен только соединяться с «y» и т. д.

поэтому выход из «он мальчик» – это всего лишь «мальчик», так как «h» не пара с «e» и «i» не соединяется с «s», «t» не соединяется с «e»,

однако, для «хулиганов», хотя «b» и «y» включены, но «u» и «l» не включены, поэтому не будет выхода для «запугивания»,

  • Как перенаправить stdout в файл при использовании subprocess.call в python?
  • Функция () принимает ровно 2 аргумента (3 данных)
  • Многократное повторение ключевого слова `in`
  • Задержка чтения в хранилище данных App Engine после put ()
  • Как правильно писать пути к файлу в Python
  • Как определить функцию, которая будет проверять, имеет ли строка пробелы после завершения предложения?
  • рекурсия внутри класса
  • Как использовать HTTPPasswordMgrWithDefaultRealm () в Python
  • 4 Solutions collect form web for “как найти слова, которые составлены из письма, точно сталкиваются друг с другом? (python)”

     >>> tr = str.maketrans('abcdefghijklm', 'zyxwvutsrqpon') >>> def isPalindromyWord(word): t = word.translate(tr) return t == t[::-1] >>> s = 'he is the boy' >>> list(filter(isPalindromyWord, (word for word in s.split(' ')))) ['boy'] 
     >>> from string import punctuation >>> text = "he is the boy." >>> word1 = ('a','b','c','d','e','f','g','h','i','j','k','l','m') >>> word2 = ('z','y','x','w','v','u','t','s','r','q','p','o','n') >>> d = dict(zip(word1 + word2, word2 + word1)) >>> words = (w.strip(punctuation) for w in text.split()) >>> [w for w in words if d[w[0]] == w[-1]] ['boy'] 

    Вот попытка:

     >>> word1= ('a','b','c','d','e','f','g','h','i','j','k','l','m') >>> word2= ('z','y','x','w','v','u','t','s','r','q','p','o','n') >>> [w for w in s.split() if w[0] in word1 and w[-1] in word2 and word1.index(w[0]) == word2.index(w[-1])] ['boy'] 

    word1 и word2 в строку с alphabets

     alphabets = 'abcdefghijklmnopqrstuvwxyz' 

    Следующая функция будет делать то, что вы хотите (это не очень красиво)

     def find_match(s): split_s=s.lower().split(' ') matches = [] for word in split_s: found = 0 sum = 0 for i in xrange(0,len(word)//2): sum += 1 if alphabets.index(word[i])+alphabets.index(word[len(word)-i-1]) == 25: found += 1 if found == sum: matches.append(word) return matches 

    Вывод

     >>> find_match('bully him') [] >>> find_match('the boy wants ') ['boy'] >>> find_match('the boy wants aazz') ['boy', 'aazz'] >>> find_match('the boy wants abayz') ['boy', 'abayz'] >>> find_match('the boy wants abasz') ['boy'] 

    Разделите строку ввода, чтобы извлечь слова. Затем для каждого слова сравнивайте первую и последнюю буквы (и т. Д.) С их фактическими положениями в алфавите (сумма их индексов в alphabet должна быть 25 , т. Е. Максимальный индекс в alphabets ). Если каждая буква слова сопоставляется, добавьте слово в список совпадающих слов

    Interesting Posts

    Как сохранить соединение с базой данных на веб-сервере python

    Наследование модели Django и внешние ключи

    Получение «глобального имени» foo 'не определено »с использованием времени Python

    Joblib Параллельное несколько процессоров медленнее одного

    Не получать требуемый результат с использованием метода определения Wordnet Synset

    Связанный список Python

    Получите все идентификаторы следящего устройства в Twitter от Tweepy

    Предупреждение о недостатке запятой между ошибкой элементов списка

    Каков наилучший способ дублирования fork () в окнах?

    Как насчет 'empty if statement' в python

    Каков наиболее эффективный способ установки строк в нули для разреженной матрицы scipy?

    Есть ли готовая платформа веб-приложений в Python?

    Как преобразовать пароль в звездочки во время его ввода?

    Python: как сделать глобальный импорт из функции

    Сельдерей Почему задача остается в очереди

    Python - лучший язык программирования в мире.