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

Python में पुनः फॉर्मेट किया गया फोन नंबर खोजें

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

  • शुरुआत में सभी स्पेस और डैश हटाएं
  • बाएं से दाएं अंकों को लंबाई 3 के ब्लॉक में तब तक ग्रुप करें जब तक 4 या उससे कम अंक न बचें
  • अंतिम अंकों को इस तरह ग्रुप करें:
    • 2 अंकों के लिए: लंबाई 2 का एक ब्लॉक
    • 3 अंकों के लिए: लंबाई 3 का एक ब्लॉक
    • 4 अंकों के लिए: लंबाई 2 के दो ब्लॉक

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

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

हल करने के चरण

  1. digits := खाली स्ट्रिंग
  2. blk := खाली स्ट्रिंग
  3. s में प्रत्येक कैरेक्टर i के लिए:
    • यदि i न्यूमेरिक है, तो blk := blk + i
    • यदि blk का आकार == 3, तो: digits := digits + blk + "-", blk := खाली स्ट्रिंग
  4. यदि blk का आकार == 0, तो digits[:-1] वापस करें
  5. अन्यथा यदि blk का आकार == 1, तो digits[:-2] + "-" + digits[-2] + blk वापस करें
  6. अन्यथा यदि blk का आकार == 2, तो digits + blk वापस करें

उदाहरण (Python)

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. पायथन में BST में रेंज में नोड्स की संख्या खोजने का प्रोग्राम पायथन में BST में रेंज में नोड्स की संख्या खोजने का प्रोग्राम

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

  1. - पायथन में फोन नंबर के अक्षर संयोजन

    मान लीजिए हमारे पास 2-9 तक के अंकों वाली एक स्ट्रिंग है। हमें उन सभी संभावित अक्षर संयोजनों को लौटाना है जो वह नंबर दर्शा सकता है। टेलीफोन बटन की तरह अंक से अक्षरों का एक मैपिंग नीचे दिया गया है। ध्यान दें कि 1 किसी भी अक्षर से मैप नहीं होता।12a b c3d e f4g h i5j k l6m n o7p q r s8t u v9w x y z*0#उद

  1. - पायथन प्रोग्राम: लिस्ट में सबसे बड़ी संख्या ढूंढें

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