Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में पालिंड्रोम:एक संख्या की जांच कैसे करें पैलिंड्रोम है?

पैलिंड्रोम क्या है?

पैलिंड्रोम एक स्ट्रिंग है जो बाएं से दाएं या दाएं से बाएं पढ़ने पर समान होती है। दूसरे शब्दों में, पैलिंड्रोम स्ट्रिंग वह होती है जिसका उल्टा मूल स्ट्रिंग के बराबर होता है।

उदाहरण के लिए, सिविक, मैडम पैलिंड्रोम हैं।

बिल्ली पालिंड्रोम नहीं है। चूंकि इसका उल्टा टीएसी है, जो मूल स्ट्रिंग (बिल्ली) के बराबर नहीं है।

इनपुट स्ट्रिंग पैलिंड्रोम है या नहीं, यह जानने के लिए एक प्रोग्राम लिखें।

विधि 1 - स्ट्रिंग का उल्टा पता लगाएं

  • कार्यक्रम में आवश्यक मुख्य चीज स्ट्रिंग के विपरीत को खोजना है।

  • एक स्ट्रिंग को उलटने के किसी भी तरीके का उपयोग करके रिवर्स पाया जा सकता है। हम स्ट्रिंग को उलटने के लिए सरल टुकड़ा करने की विधि का उपयोग करेंगे। इनबिल्ट ''.join(reversed()) का भी उपयोग किया जा सकता है। हालांकि स्ट्रिंग को उलटने के और भी तरीके हैं, हम एक आसान तरीका अपनाएंगे।

  • उल्टे स्ट्रिंग की मूल स्ट्रिंग से तुलना करें।

  • यदि दोनों तार समान हैं, तो सही लौटें, अन्यथा झूठी वापसी करें।

उदाहरण

def isPalindrome(s):
   rev=s[::-1]
   if(rev==s):
      return True
   return False
print("Enter a string")
st=input()
print(isPalindrome(st))

आउटपुट

Enter a string
madam
True

विधि 2 - स्ट्रिंग का उल्टा पता लगाए बिना

विचार यह है कि स्ट्रिंग के पहले और आखिरी इंडेक्स में वर्णों की लगातार तुलना करें जब तक कि वे असमान न हों।

हम दो उदाहरण देखेंगे बिना किसी स्ट्रिंग का उल्टा खोजे -

स्ट्रिंग मान "मैडम":

  • हम पहले और अंतिम वर्णों की तुलना करते हैं जो समान हैं, आगे हम दूसरे और दूसरे अंतिम वर्णों की तुलना करते हैं जो फिर से समान हैं। अंत में हम केवल एक चरित्र के साथ बचे हैं। इस प्रकार, स्ट्रिंग एक पैलिंड्रोम है।

स्ट्रिंग मान "रीडर":

  • वर्ण दूसरे और दूसरे अंतिम तत्व के बीच तुलना तक बराबर हैं।

    जब तीसरे और तीसरे अंतिम वर्णों की तुलना की जाती है, तो वे समान नहीं होते हैं, इसलिए यह पैलिंड्रोम नहीं है।

  • हम इस विचार को रिकर्सन या दो पॉइंटर्स का उपयोग करके कार्यान्वित कर सकते हैं। हम दो पॉइंटर्स का उपयोग करके कार्यान्वित करेंगे। हम 0 पर प्रारंभ सूचक से प्रारंभ करते हैं और अंतिम अनुक्रमणिका पर अंत सूचक से प्रारंभ करते हैं। हम तुलना करना शुरू करते हैं और यदि वर्ण समान हैं, तो हम प्रारंभ सूचक और घटते अंत सूचक को बढ़ाते हैं (इस प्रकार उन्हें दूसरे और दूसरे अंतिम वर्ण और इसी तरह लाते हैं)।

  • हम झूठे कब लौटते हैं? यदि हम पाते हैं कि पॉइंटर्स के किसी भी सेट के लिए वर्ण समान नहीं हैं, तो हमें और इंडेक्स की तलाश करने की आवश्यकता नहीं है और हम False वापस कर सकते हैं।

  • हम सच कब लौटते हैं? दूसरे मामले में, यदि स्ट्रिंग एक पैलिंड्रोम है, तो हम ट्रू वापस आ जाएंगे जब दोनों पॉइंटर्स समान हो जाते हैं (केवल 1 कैरेक्टर चेक करने के लिए बचा है) या स्टार्ट पॉइंटर एंड पॉइंटर से अधिक हो जाता है (सभी कैरेक्टर चेक किए जाते हैं) और इसलिए सही लौटते हैं।

उदाहरण

def isPalindrome(s):
   rev=s[::-1]
   if(rev==s):
      return True
   return False
print("Enter a string")
st=input()
print(isPalindrome(st))

आउटपुट

Enter a string
reader
False
>>>
Enter a string
madam
True

  1. पायथन प्रोग्राम में दी गई संख्या एक फाइबोनैचि संख्या है या नहीं, इसकी जांच कैसे करें?

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे - समस्या कथन किसी संख्या n को देखते हुए, जाँच करें कि n एक फाइबोनैचि संख्या है या नहीं हम सभी जानते हैं कि nवीं फाइबोनैचि संख्या पिछले दो फाइबोनैचि संख्याओं का योग है। लेकिन वे पुनरावृत्ति संबंध के अलावा एक दिलचस्प संबंध भी प्रस्त

  1. कैसे जांचें कि एक स्ट्रिंग में पाइथन में कम से कम एक अक्षर और एक नंबर है या नहीं?

    पायथन में इसे जांचने का सबसे आसान तरीका रेगुलर एक्सप्रेशन का उपयोग करना है। यह जांचने के लिए कि दी गई स्ट्रिंग में कम से कम एक अक्षर और एक संख्या है या नहीं, हम re.match(regex, string) का उपयोग करते हैं। उदाहरण import re print(bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', 'hasAlphanum123

  1. मैं कैसे जांचूं कि एक स्ट्रिंग में पाइथन में अक्षर या संख्याएं हैं या नहीं?

    पायथन स्ट्रिंग क्लास में isalnum () नामक एक विधि है जिसे एक स्ट्रिंग पर बुलाया जा सकता है और हमें बताता है कि स्ट्रिंग में केवल अल्फ़ान्यूमेरिक्स हैं या नहीं। आप इसे निम्न तरीके से कॉल कर सकते हैं: print( '123abc'.isalnum()) आउटपुट True print('123#$%abc'.isalnum()) आउटपुट False आप