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

पायथन प्रोग्राम: स्टैक का उपयोग करके कतार लागू करना


जब स्टैक का उपयोग करके कतार लागू करने की आवश्यकता होती है, तो एक कतार क्लास परिभाषित की जा सकती है, जहां दो स्टैक इंस्टेंस परिभाषित किए जा सकते हैं। कतार पर विभिन्न ऑपरेशन किए जा सकते हैं जो इस क्लास में विधियों के रूप में परिभाषित हैं।

उदाहरण

class Queue_structure:
    def __init__(self):
        self.in_val = Stack_structure()
        self.out_val = Stack_structure()
    
    def check_empty(self):
        return (self.in_val.check_empty() and self.out_val.check_empty())
    
    def enqueue_operation(self, data):
        self.in_val.push_operation(data)
    
    def dequeue_operation(self):
        if self.out_val.check_empty():
            while not self.in_val.check_empty():
                deleted_val = self.in_val.pop_operation()
                self.out_val.push_operation(deleted_val)
        return self.out_val.pop_operation()

class Stack_structure:
    def __init__(self):
        self.items = []
    
    def check_empty(self):
        return self.items == []
    
    def push_operation(self, data):
        self.items.append(data)
    
    def pop_operation(self):
        return self.items.pop()

my_instance = Queue_structure()
while True:
    print('enqueue ')
    print('dequeue')
    print('quit')
    my_input = input('आप कौन सा ऑपरेशन करना चाहेंगे? ').split()
    operation = my_input[0].strip().lower()
    
    if operation == 'enqueue':
        my_instance.enqueue_operation(int(my_input[1]))
    elif operation == 'dequeue':
        if my_instance.check_empty():
            print('कतार खाली है')
        else:
            deleted_elem = my_instance.dequeue_operation()
            print('हटाया गया तत्व है:', int(deleted_elem))
    elif operation == 'quit':
        break

आउटपुट

enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? enqueue 45
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? enqueue 23
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? enqueue 78
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? dequeue
हटाया गया तत्व है: 45
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? quit

व्याख्या

  • एक 'Queue_structure' परिभाषित की गई है, जो स्टैक के दो इंस्टेंस परिभाषित करती है।

  • इसमें 'check_empty' नामक एक विधि है जो जांचती है कि कतार खाली है या नहीं।

  • 'enqueue_operation' नामक एक अन्य विधि परिभाषित की गई है, जो कतार में तत्व जोड़ने में मदद करती है।

  • 'dequeue_operation' नामक एक अन्य विधि परिभाषित की गई है, जो कतार से एक तत्व हटाती है।

  • एक अन्य 'Stack_structure' क्लास बनाई गई है।

  • यह एक खाली सूची इनिशियलाइज़ करता है।

  • इसमें 'check_empty' नामक एक विधि है जो जांचती है कि स्टैक खाली है या नहीं।

  • 'push_operation' नामक एक अन्य विधि परिभाषित की गई है, जो कतार में तत्व जोड़ने में मदद करती है।

  • 'pop_operation' नामक एक अन्य विधि परिभाषित की गई है, जो कतार से एक तत्व हटाती है।

  • एक 'Queue_structure' इंस्टेंस बनाया जाता है।

  • तीन विकल्प दिए गए हैं- enqueue, dequeue, और quit।

  • उपयोगकर्ता द्वारा दिए गए विकल्प के आधार पर, ऑपरेशन किए जाते हैं, और प्रासंगिक आउटपुट कंसोल पर प्रदर्शित किया जाता है।


  1. पायथन प्रोग्राम में यूनिट टेस्टिंग Unittest का उपयोग करके पायथन प्रोग्राम में यूनिट टेस्टिंग Unittest का उपयोग करके

    इस लेख में, हम पायथन 3.x में उपलब्ध unittest मॉड्यूल की मदद से सॉफ्टवेयर टेस्टिंग के फंडामेंटल्स सीखेंगे। या इससे पहले। यह ऑटोमेशन, टेस्ट्स के लिए सेटअप और एग्जिट कोड शेयर करने, और हर फ्रेमवर्क के लिए इंडिपेंडेंट टेस्ट्स की अनुमति देता है। यूनिट टेस्ट में, हम ऑब्जेक्ट ओरिएंटेड कॉन्सेप्ट्स की एक वि

  1. पायथन में Unittest का उपयोग करके यूनिट टेस्टिंग पायथन में Unittest का उपयोग करके यूनिट टेस्टिंग

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में उपलब्ध यूनिट टेस्ट मॉड्यूल की मदद से सॉफ्टवेयर टेस्टिंग के मूल सिद्धांतों के बारे में जानेंगे। यह टेस्ट के लिए सेटअप और एग्जिट कोड के ऑटोमेशन, शेयरिंग और हर फ्रेमवर्क के लिए स्वतंत्र टेस्ट की अनुमति देता है।यूनिट टेस्ट में, हम ऑब्जेक्ट-ओरिएंटेड अव

  1. पायथन का उपयोग करके कॉनवे का लाइफ गेम पायथन का उपयोग करके कॉनवे का लाइफ गेम

    एक ब्रिटिश गणितज्ञ ने 1970 के आसपास अपना लाइफ गेम बनाया - जो मूल रूप से जैविक जीवों की एक कॉलोनी के अराजक फिर भी पैटर्न वाले विकास को दर्शाने वाले नियमों का एक समूह है। लाइफ गेम एक दो-आयामी ग्रिड है जिसमें जीवित और मृत कोशिकाएं होती हैं। लाइफ गेम के नियम अतिजनसंख्या: एक कोशिका मर जाती है (बंद) यदि