문자열이 회문인지 재귀 기법을 사용하지 않는지 확인해야 하는 경우 단순 인덱싱 및 사용자 정의 함수와 함께 재귀를 사용합니다.
회문은 왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로 읽을 때 각각의 인덱스에서 동일한 문자를 갖는 문자열 또는 값입니다.
재귀는 더 큰 문제의 작은 비트의 출력을 계산하고 이러한 비트를 결합하여 더 큰 문제에 대한 솔루션을 제공합니다.
아래는 동일한 데모입니다 -
예
def check_palindrome(my_str): if len(my_str) < 1: return True else: if my_str[0] == my_str[-1]: return check_palindrome(my_str[1:-1]) else: return False my_string = str(input("Enter the string :")) print("The string is ") print(my_string) if(check_palindrome(my_string)==True): print("The string is a palindrome") else: print("The string isn't a palindrome")
출력
Enter the string : MalaM MalaM The string is MalaM The string is a palindrome
설명
- 'check_palindrome'이라는 메서드는 문자열을 매개변수로 사용합니다.
- 문자열의 크기가 1보다 작으면 'True'가 출력으로 반환됩니다.
- 그렇지 않으면 문자열의 마지막 요소가 첫 번째 요소와 일치하는지 확인하기 위해 검사됩니다.
- 메소드는 두 번째 인덱스에서 마지막 인덱스까지 요소에 대해 다시 호출됩니다. 여기서 마지막 인덱스 값은 의도적으로 제외됩니다.
- 그렇지 않으면 함수가 false를 반환합니다.
- 함수 외부에서 사용자에게 문자열을 입력하라는 메시지가 표시됩니다.
- 이 문자열은 콘솔에 표시됩니다.
- 이 문자열을 매개변수로 전달하여 메서드를 호출합니다.
- 값이 'True'로 계산되면 콘솔에 해당 메시지가 표시됩니다.
- 그렇지 않으면 콘솔에 다른 메시지가 표시됩니다.