जब यह जांचने की आवश्यकता होती है कि कोई स्ट्रिंग सममित है या यह पैलिंड्रोम है, तो एक मेथड परिभाषित किया जा सकता है, जो 'while' कंडीशन का उपयोग करता है। समरूपता की जांच के लिए एक और मेथड परिभाषित किया गया है जो 'while' और 'if' कंडीशन्स का भी उपयोग करता है।
पैलिंड्रोम एक संख्या या स्ट्रिंग है, जिसे बाएं से दाएं या दाएं से बाएं पढ़ने पर वही वैल्यू होती है। इंडेक्स वैल्यूज़ समान होती हैं।
उदाहरण
इसके लिए एक प्रदर्शन नीचे दिया गया है:
def check_palindrome(my_str):
mid_val = (len(my_str) - 1) // 2
start = 0
end = len(my_str) - 1
flag = 0
while start < mid_val:
if my_str[start] == my_str[end]:
start += 1
end -= 1
else:
flag = 1
break
if flag == 0:
print("The entered string is palindrome")
else:
print("The entered string is not palindrome")
def check_symmetry(my_str):
n = len(my_str)
flag = 0
if n % 2:
mid_val = n // 2 + 1
else:
mid_val = n // 2
start_1 = 0
start_2 = mid_val
while start_1 < mid_val and start_2 < n:
if my_str[start_1] == my_str[start_2]:
start_1 = start_1 + 1
start_2 = start_2 + 1
else:
flag = 1
break
if flag == 0:
print("The entered string is symmetrical")
else:
print("The entered string is not symmetrical")
my_string = 'phphhphp'
print("The method to check a palindrome is being called...")
check_palindrome(my_string)
print("The method to check symmetry is being called...")
check_symmetry(my_string)आउटपुट
The method to check a palindrome is being called... The entered string is palindrome The method to check symmetry is being called... The entered string is not symmetrical
व्याख्या
- 'check_palindrome' नामक एक मेथड परिभाषित किया गया है, जो पैरामीटर के रूप में एक स्ट्रिंग लेता है।
- मिडिल वैल्यू की गणना 2 से फ्लोर डिवीजन करके की जाती है।
- स्टार्ट वैल्यू को 0 असाइन किया जाता है, और एंड वैल्यू को अंतिम एलिमेंट असाइन किया जाता है।
- फ्लैग नामक एक वेरिएबल को 0 असाइन किया जाता है।
- एक व्हाइल कंडीशन शुरू होती है, और यदि स्टार्ट और एंड एलिमेंट्स समान हैं, तो स्टार्ट वैल्यू इन्क्रीमेंट होती है, और एंड वैल्यू डिक्रीमेंट होती है।
- अन्यथा, फ्लैग वेरिएबल को 1 असाइन किया जाता है, और यह लूप से बाहर निकल जाता है।
- यदि फ्लैग का मान 0 है, तो स्ट्रिंग पैलिंड्रोम होगी, अन्यथा नहीं।
- 'check_symmetry' नामक एक और मेथड परिभाषित किया गया है, जो पैरामीटर के रूप में एक स्ट्रिंग लेता है।
- स्ट्रिंग की लंबाई एक वेरिएबल को असाइन की जाती है।
- यदि लंबाई और 2 का शेष 0 नहीं है, तो मिडिल वैल्यू बदल दी जाती है।
- स्टार्ट और मिडिल वैल्यू फिर से बदल दी जाती हैं।
- एक और 'while' कंडीशन का उपयोग किया जाता है, और स्टार्ट वैल्यूज़ फिर से बदल दी जाती हैं।
- यदि फ्लैग का मान 0 है, तो स्ट्रिंग को सममित माना जाता है।
- अन्यथा नहीं।