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

पायथन में सीट रिजर्वेशन मैनेजर लागू करने का प्रोग्राम


मान लीजिए हमें n सीटों की रिजर्वेशन स्थिति का प्रबंधन करने वाली एक प्रणाली डिजाइन करनी है। सीटें 1 से n तक संख्या दी गई हैं। तो हमें SeatReserveManager क्लास लागू करनी है, इन फंक्शन्स के साथ:

  • कंस्ट्रक्टर जो n लेता है और 1 से n तक संख्या दी गई n सीटों का प्रबंधन करने वाली ऑब्जेक्ट को इनिशियलाइज़ करता है। प्रारंभ में सभी सीटें उपलब्ध हैं।

  • reserve(), यह सबसे छोटी संख्या वाली अनारक्षित सीट लाएगा, फिर उसे रिजर्व करेगा, और उसका नंबर लौटाएगा।

  • unreserve(seatNumber), यह दिए गए seatNumber के साथ एक रिजर्व्ड सीट को अनारक्षित करेगा।

उदाहरण के लिए, यदि इनपुट है:

  • obj = SeatReserveManager(7)

  • obj.reserve()

  • obj.reserve()

  • obj.reserve()

  • obj.unreserve(2)

  • obj.unreserve(5)

  • obj.reserve()

  • obj.reserve()

तो आउटपुट होगा 1, 2, 3, 2, 5, प्रारंभ में तीन सीटें 1, 2, 3 रिजर्व होती हैं, फिर 2 और 5 अनारक्षित होती हैं लेकिन 5 अभी तक रिजर्व नहीं है, फिर अगली बार 5 रिजर्व होती है।

समाधान दृष्टिकोण

इस समस्या को हल करने के लिए हम निम्न चरणों का पालन करेंगे:

  • कंस्ट्रक्टर() परिभाषित करें। यह n लेगा

  • current_seat := 0

  • empty_seats := एक नई सूची

  • reserve() फंक्शन परिभाषित करें

  • यदि empty_seats की लंबाई > 0, तो

    • s := empty_seats का न्यूनतम

    • empty_seats से s को हटाएं

    • s लौटाएं

  • current_seat := current_seat + 1

  • current_seat लौटाएं

  • unreserve() फंक्शन परिभाषित करें। यह seatNumber लेगा

  • seatNumber को empty_seats के अंत में डालें

उदाहरण

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

class SeatReserveManager:
    def __init__(self, n):
        self.current_seat = 0
        self.empty_seats = []
    def reserve(self):
        if len(self.empty_seats) > 0:
            s = min(self.empty_seats)
            self.empty_seats.remove(s)
            return s
        self.current_seat += 1
        return self.current_seat
    def unreserve(self, seatNumber):
        self.empty_seats.append(seatNumber)

obj = SeatReserveManager(7)
print(obj.reserve())
print(obj.reserve())
print(obj.reserve())
obj.unreserve(2)
obj.unreserve(5)
print(obj.reserve())
print(obj.reserve())

इनपुट

obj = SeatReserveManager(7)
print(obj.reserve())
print(obj.reserve())
print(obj.reserve())
obj.unreserve(2)
obj.unreserve(5)
print(obj.reserve())
print(obj.reserve())

आउटपुट

1 2 3 2 5
  1. Python Program कैसे चलाएं? Python Program कैसे चलाएं?

    Code लिखने के बाद, हमें code को execute करके output प्राप्त करने के लिए run करने की आवश्यकता होती है। Program चलाने पर, हम जांच सकते हैं कि लिखा गया code सही है और desired output produce करता है। Python program चलाना काफी आसान काम है। IDLE पर चलाएं IDLE पर python program चलाने के लिए, दिए गए steps क

  1. - Python प्रोग्राम में callable() फ़ंक्शन

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

  1. - पायथन प्रोग्राम रॉक पेपर कैंची गेम लागू करने के लिए

    पायथन का उपयोग करके हम बहुत दिलचस्प गेम भी विकसित कर सकते हैं। रॉक पेपर कैंची गेम उनमें से एक है। यहाँ हम रैंडम नंबर उत्पन्न करने के लिए randint() फ़ंक्शन का उपयोग करते हैं। इस खेल में खिलाड़ी आमतौर पर तीन तक गिनने की अनुमति देते हैं, या खेल का नाम बोलते हैं, प्रत्येक बार या तो एक हाथ को मुट्ठी में