우리는 가운데에서 긴 문자열을 분리하고 두 반쪽이 같은지 여부를 확인할 수 있습니다. 입력 문자열은 홀수 또는 짝수의 문자를 가질 수 있습니다. 짝수개의 문자가 있는 경우 길이의 절반을 취하여 두 개의 절반을 나눕니다. 그러나 문자 수가 홀수이면 가장 중간에 있는 문자를 무시하고 나머지 두 반쪽을 비교합니다.
아래 프로그램에서 위의 논리로 입력 문자열의 두 부분을 만든 다음
예시
from collections import Counter
def comparehalves(input_string):
str_len = len(input_string)
# If number of characyes is odd
# ignore the middle character
if (str_len % 2 != 0):
left = input_string[0:int(str_len / 2)]
right = input_string[(int(str_len / 2)) + 1:]
else:
left = input_string[0:int(str_len / 2)]
right = input_string[int(str_len / 2):]
# Convert the halves into lists
# and sort them
l1 = list(left)
l1.sort()
l2 = list(right)
l2.sort()
if l1 == l2:
print ("Same character in both halves")
else:
print ("Both halves are different ")
in_string = input("Enter String: ")
comparehalves(in_string) 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
# Run1 Enter String: Tutorials Both halves are different # Run2 Enter String: TutTut Same character in both halves