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

पायथन में पुन:स्वरूपित फोन नंबर खोजने का कार्यक्रम

मान लीजिए कि हमारे पास स्ट्रिंग के रूप में एक फ़ोन नंबर है। फ़ोन नंबर नंबर में अंक, रिक्त स्थान और/या डैश '-' होते हैं। हम फ़ोन नंबर को एक निश्चित तरीके से पुन:स्वरूपित करना चाहते हैं। कुछ नियम हैं -

  • शुरुआत में सभी रिक्त स्थान और डैश हटा दें

  • बाईं ओर से दाईं ओर के अंकों को 3 लंबाई के ब्लॉक में तब तक समूहित करें जब तक कि 4 या उससे कम अंक शेष न हों।

  • फिर अंतिम अंकों को −

    . की तरह समूहीकृत किया जाता है
    • 2 अंकों के लिए:लंबाई 2 का एक ब्लॉक।

    • 3 अंकों के लिए:लंबाई 3 का एक ब्लॉक।

    • 4 अंकों के लिए:लंबाई 2 प्रत्येक के दो और ब्लॉक।

इन ब्लॉकों को फिर डैश द्वारा जोड़ दिया जाता है। हमें पुन:स्वरूपित फ़ोन नंबर ढूंढना होगा।

इसलिए, यदि इनपुट s ="9-6-84102-4 7-8" जैसा है, तो आउटपुट "968-410-24-78" होगा

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अंक :=एक खाली स्ट्रिंग

  • blk :=एक खाली स्ट्रिंग

  • प्रत्येक वर्ण के लिए मैं s में, करता हूँ

    • अगर मैं अंकीय है, तो

      • blk :=blk concatenate i

    • यदि ब्लेक का आकार 3 के समान है, तो

      • अंक :=अंक समवर्ती ब्लेक कॉनकेनेट डैश("-")

      • blk :=एक खाली स्ट्रिंग

  • यदि ब्लेक का आकार 0 के समान है, तो

    • इंडेक्स 0 से अंकों की वापसी सबस्ट्रिंग अंक -1 के आकार में]

  • अन्यथा जब ब्लेक का आकार 1 के समान हो, तो

    • इंडेक्स 0 से अंकों का रिटर्न सबस्ट्रिंग डिजिट्स -2 के आकार के लिए] कॉनटेनेट डैश ("-") अंकों के दूसरे अंतिम वर्ण को कॉन्टेनेट करें blk

  • अन्यथा जब ब्लेक का आकार 2 के समान हो, तो

    • वापसी अंक काले रंग को जोड़ते हैं

उदाहरण (पायथन)

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def solve(s):
   digits = ""
   blk = ""
   for i in s:
      if i.isnumeric():
         blk += i
      if len(blk) == 3:
         digits += blk+"-"
         blk = ""

   if len(blk) == 0:
      return digits[:-1]
   elif len(blk) == 1:
      return digits[:-2]+"-"+digits[-2]+blk
   elif len(blk) == 2:
      return digits+blk

s = "9-6-84102-4 7-8"
print(solve(s))

इनपुट

"9-6-84102-4 7-8"

आउटपुट

968-410-24-78

  1. पायथन में एक श्रेणी में नोड्स की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक बीएसटी है, और हमारे पास बाएं और दाएं सीमाएं एल और आर भी हैं, हमें रूट में उन सभी नोड्स की गिनती ढूंढनी है जिनके मान एल और आर (समावेशी) के बीच मौजूद हैं। तो, अगर इनपुट पसंद है l =7, r =13, तो आउटपुट 3 होगा, क्योंकि तीन नोड हैं:8, 10, 12. इसे हल करने के लिए, हम इन चरणों

  1. पायथन में एक फोन नंबर का पत्र संयोजन

    मान लीजिए कि हमारे पास एक स्ट्रिंग है जिसमें 2-9 से अंक शामिल हैं। हमें सभी संभावित अक्षर संयोजनों को वापस करना होगा जो संख्या का प्रतिनिधित्व कर सकते हैं। अंकों से अक्षरों की एक मैपिंग (बिल्कुल टेलीफोन बटनों की तरह) नीचे दी गई है। ध्यान दें कि 1 किसी भी अक्षर को मैप नहीं करता है। 1 2 ए बी सी 3

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन दी गई सूची इनपुट, हमें दी गई सूची में सबसे बड़ी संख्या खोजने की जरूरत है। यहां हम दो दृष्टिकोणों पर चर्चा करेंगे सॉर्टिंग तकनीकों का उपयोग करना अंतर्निहित अधिकतम() फ़ंक्शन का उपयोग करना दृष्टिक