हम एक लंबी डोरी को बीच से विभाजित कर सकते हैं और जांच सकते हैं कि दोनों भाग बराबर हैं या नहीं। इनपुट स्ट्रिंग में विषम या सम संख्या में वर्ण हो सकते हैं। यदि इसमें वर्णों की एक सम संख्या है, तो हम लंबाई का आधा भाग लेकर दो हिस्सों को विभाजित करते हैं। लेकिन अगर वर्णों की संख्या विषम है तो हम बीच के वर्ण को नज़रअंदाज़ कर देते हैं और फिर शेष दो हिस्सों की तुलना करते हैं।
नीचे दिए गए प्रोग्राम में हम उपरोक्त तर्क के साथ इनपुट स्ट्रिंग के दो हिस्सों को बनाते हैं और फिर
उदाहरण
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