Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 문장 속 회문(팰린드롬) 단어를 정렬하는 프로그램

문장에 포함된 회문(팰린드롬) 단어를 정렬해야 할 때는, 문자열을 매개변수로 받아 해당 단어가 회문인지 먼저 확인하는 메서드를 정의합니다. 이후 문장의 모든 단어를 정렬하여 최종 결과를 출력합니다.

예제

아래는 이를 구현한 예시 코드입니다.

def check_palindrome(my_string):
   if(my_string == my_string[::-1]):
      return True
   else:
      return False

def print_sort_palindromes(my_sentence):
   my_list = []

   my_result = list(my_sentence.split())

   for i in my_result:

      if(check_palindrome(i)):
         my_list.append(i)

   my_list.sort()

   j = 0

   for i in range(len(my_result)):

      if(check_palindrome(my_result[i])):
         my_result[i] = my_list[j]
         j = j + 1

   for i in my_result:
      print(i)

my_sentence = "hi madam, how are u"
print("The sentence is ")
print(my_sentence)
print("The result is :")
print_sort_palindromes(my_sentence)

출력

The sentence is
hi madam, how are u
The result is :
hi
madam,
how
are
u

설명

  • 'check_palindrome'이라는 이름의 메서드가 정의되며, 이 메서드는 문자열을 매개변수로 받습니다.

  • 이 메서드는 전달받은 문자열이 회문인지 여부를 확인합니다.

  • 'print_sort_palindromes'라는 또 다른 메서드가 정의되며, 문장을 매개변수로 받습니다.

  • 함수 내부에서는 빈 리스트가 생성됩니다.

  • 문장은 공백을 기준으로 분리되어 각 단어를 요소로 가지는 리스트로 변환됩니다.

  • 리스트의 각 요소를 순회하면서 문장 내 단어들이 회문인지 검사합니다.

  • 회문인 경우 해당 단어는 앞서 생성한 빈 리스트에 추가됩니다.

  • 회문 단어만 담긴 이 리스트는 오름차순으로 정렬됩니다.

  • 메서드 외부에서 문장이 정의되고 콘솔에 출력됩니다.

  • 매개변수를 전달하여 메서드가 호출됩니다.

  • 정렬된 결과가 콘솔에 표시됩니다.