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

पायथन प्रोग्राम: दी गई स्ट्रिंग से सभी संभावित वैलिड IP एड्रेस जनरेट करना


स्ट्रिंग दी गई है। स्ट्रिंग में केवल डिजिट्स हैं। हमारा कार्य सभी संभावित वैलिड IP एड्रेस कॉम्बिनेशन्स चेक करना है।

यहां पहले हम स्ट्रिंग की लंबाई चेक करते हैं फिर "." से स्प्लिट करते हैं। फिर हम "." के विभिन्न कॉम्बिनेशन्स चेक करते हैं।

उदाहरण

Input: "255011123222"
It's not a valid IP address.
Input: 255011345890
Valid IP address is 255.011.123.222

एल्गोरिदम

चरण 1: पहले स्ट्रिंग की लंबाई चेक करें।
चरण 2: स्ट्रिंग को "." से स्प्लिट करें। हम दिए गए स्ट्रिंग में 3 डॉट्स रखेंगे। W, X, Y, और Z 0-255 से नंबर हैं, नंबर 0-प्रीफिक्स्ड नहीं हो सकते जब तक कि वे 0 न हों।
चरण 3: विभिन्न कॉम्बिनेशन्स जनरेट करें।
चरण 4: कॉम्बिनेशन की वैधता चेक करें।

उदाहरण कोड

# पायथन कोड: वैलिड संभावित IP चेक करने के लिए
# फंक्शन चेक करता है कि IP डिजिट्स वैलिड हैं या नहीं
def ipvalid(ip):
    # "." द्वारा स्प्लिटिंग
    ip = ip.split(".")
    # कॉर्नर केसेस चेक करना
    for i in ip:
        if len(i) > 3 or int(i) < 0 or int(i) > 255:
            return False
        if len(i) > 1 and int(i) == 0:
            return False
        if len(i) > 1 and int(i) != 0 and i[0] == '0':
            return False
    return True

# फंक्शन स्ट्रिंग को IP एड्रेस में कन्वर्ट करता है
def ipconvert(A):
    con = len(A)
    # स्ट्रिंग साइज चेक करें
    if con > 12:
        return []
    newip = A
    l = []
    # विभिन्न कॉम्बिनेशन्स जनरेट करना
    for i in range(1, con - 2):
        for j in range(i + 1, con - 1):
            for k in range(j + 1, con):
                newip = newip[:k] + "." + newip[k:]
                newip = newip[:j] + "." + newip[j:]
                newip = newip[:i] + "." + newip[i:]
                # कॉम्बिनेशन की वैधता चेक करें
                if ipvalid(newip):
                    l.append(newip)
                newip = A
    return l

# ड्राइवर कोड
A = input("Enter IP address")
print(ipconvert(A))

आउटपुट

Enter IP address25525522134
['255.255.22.134', '255.255.221.34']
  1. पायथन में सभी संभावित वैध पथों से अधिकतम स्कोर ज्ञात करने का प्रोग्राम पायथन में सभी संभावित वैध पथों से अधिकतम स्कोर ज्ञात करने का प्रोग्राम

    मान लीजिए हमारे पास दो सरणियाँ nums1 और nums2 हैं। एक वैध पथ को इस प्रकार परिभाषित किया गया है: nums1 या nums2 को पार करने के लिए चुनें (सूचकांक-0 से)। सरणी को बाएं से दाएं पार करें। अब, यदि हम किसी ऐसे मान से गुजर रहे हैं जो nums1 और nums2 दोनों में मौजूद है, तो हम दूसरे सरणी पर पथ बदल सकते हैं।

  1. पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें पायथन प्रोग्राम: दी गई स्ट्रिंग के सभी क्रमपरिवर्तन प्रिंट करें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक स्ट्रिंग दी गई है, हमें स्ट्रिंग के सभी संभावित क्रमपरिवर्तन प्रदर्शित करने हैं। उदाहरण # रूपांतरण def toString(List): return .join(List) # क्रमपरिवर्तन def permute(a, l, r): if l == r: print(toString(a))

  1. - पायथन में दी गई स्ट्रिंग के सभी संभावित क्रमपरिवर्तन कैसे खोजें?

    दी गई स्ट्रिंग के सभी संभावित क्रमपरिवर्तन खोजने के लिए, आप itertools मॉड्यूल का उपयोग कर सकते हैं जिसमें एक उपयोगी मेथड permutations(iterable[, r]) होता है। यह मेथड इटरेबल में तत्वों के क्रमिक r-लंबाई क्रमपरिवर्तनों को टुपल्स के रूप में लौटाता है। सभी क्रमपरिवर्तनों को स्ट्रिंग के रूप में प्राप्त क