1
0

palindrom.py 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. from itertools import permutations
  2. # Список слов
  3. words_list = ['мама', 'мыла', 'раму', "А", "роза", "упала", "на", "лапу", "Азора"]
  4. # Создаем пустое множество для хранения уникальных возможных фраз
  5. phrases = set()
  6. # Генерируем все возможные перестановки слов разной длины
  7. for r in range(1, len(words_list)+1):
  8. for perm in permutations(words_list, r):
  9. phrase = ' '.join(perm)
  10. phrases.add(phrase)
  11. # Функция для проверки палиндрома
  12. def is_palindrome(s):
  13. s_cleaned = ''.join(s.split()).lower() # убираем пробелы и приводим к нижнему регистру
  14. return s_cleaned == s_cleaned[::-1]
  15. # Проверяем каждую фразу на палиндром
  16. palindromes = []
  17. for p in phrases:
  18. if is_palindrome(p):
  19. palindromes.append(p)
  20. # Выведем найденные палиндромы
  21. if palindromes:
  22. print("Следующие фразы являются палиндромами:")
  23. for p in palindromes:
  24. print(p)
  25. else:
  26. print("Ни одна из составленных фраз не является палиндромом.")