हम एक लंबी स्ट्रिंग को बीच से विभाजित कर सकते हैं और जांच सकते हैं कि दोनों हिस्से समान हैं या नहीं। इनपुट स्ट्रिंग में ऑड या इवन संख्या में कैरेक्टर्स हो सकते हैं। यदि इसमें इवन संख्या में कैरेक्टर्स हैं, तो हम लंबाई का आधा लेकर दोनों हिस्सों को विभाजित करते हैं। लेकिन यदि कैरेक्टर्स की संख्या ऑड है तो हम मिडलमोस्ट कैरेक्टर को अनदेखा करते हैं और फिर शेष दो हिस्सों की तुलना करते हैं।
नीचे दिए गए प्रोग्राम में हम उपरोक्त तर्क के साथ इनपुट स्ट्रिंग के दो हिस्से बनाते हैं और फिर
उदाहरण
from collections import Counter
def comparehalves(input_string):
str_len = len(input_string)
# यदि कैरेक्टर्स की संख्या ऑड है
# मिडल कैरेक्टर को अनदेखा करें
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):]
# हिस्सों को लिस्ट में बदलें
# और उन्हें सॉर्ट करें
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