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

पायथन में सीट आरक्षण प्रबंधक को लागू करने का कार्यक्रम

मान लीजिए कि हमें एक ऐसी प्रणाली तैयार करनी है जो n सीटों की आरक्षण स्थिति का प्रबंधन करती है। सीटों की संख्या 1 से n तक है। तो हमें इन कार्यों के साथ, SeatReserveManager वर्ग को लागू करना होगा -

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

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

  • अनारक्षित (सीट संख्या), यह दी गई सीट संख्या के साथ एक आरक्षित सीट को अनारक्षित करेगा।

तो, अगर इनपुट पसंद है

  • obj =SeatReserveManager(7)

  • obj.रिजर्व ()

  • obj.रिजर्व ()

  • obj.रिजर्व ()

  • obj.unreserve(2)

  • obj.unreserve(5)

  • obj.रिजर्व ()

  • obj.रिजर्व ()

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

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

  • कंस्ट्रक्टर () को परिभाषित करें। इसमें n

    . लगेगा
  • current_seat :=0

  • खाली_सीट :=एक नई सूची

  • फ़ंक्शन रिजर्व() को परिभाषित करें। इसमें लगेगा

  • अगर खाली_सीटों की लंबाई> 0, तो

    • s :=कम से कम खाली_सीटें

    • खाली सीटों से हटाएं

    • वापसी एस

  • current_seat :=current_seat + 1

  • वर्तमान_सीट लौटें

  • एक फ़ंक्शन अनारक्षित () को परिभाषित करें। यह सीटनंबर लेगा

  • खाली_सीटों के अंत में सीट संख्या डालें

उदाहरण

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

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. पायथन प्रोग्राम कैसे चलाएं?

    कोड लिखने के बाद, हमें आउटपुट को निष्पादित करने और प्राप्त करने के लिए कोड को चलाने की आवश्यकता होती है। प्रोग्राम चलाने पर, हम जांच सकते हैं कि कोड सही लिखा है या नहीं और वांछित आउटपुट देता है। पायथन प्रोग्राम चलाना काफी आसान काम है। आईडीएलई पर चलाएं IDLE पर पायथन प्रोग्राम चलाने के लिए, दिए गए च

  1. कॉल करने योग्य () पायथन प्रोग्राम में

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

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

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