Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで座席予約マネージャーを実装するプログラム


n席の予約状態を管理するシステムを設計する必要があるとします。座席番号は1からnまでです。したがって、これらの関数を使用して、SeatReserveManagerクラスを実装する必要があります-

  • nを入力として受け取り、1からnまでの番号が付けられたn個のシートを管理するオブジェクトを初期化するコンストラクター。最初はすべての座席が空いています。

  • reserved()、これは最小番号の予約されていないシートをフェッチし、それを予約して、その番号を返します。

  • unreserve(seatNumber)、これは指定されたseatNumberで1つの予約済みシートを予約解除します。

したがって、入力が次のような場合

  • obj =SeatReserveManager(7)

  • obj.reserve()

  • obj.reserve()

  • obj.reserve()

  • obj.unreserve(2)

  • obj.unreserve(5)

  • obj.reserve()

  • obj.reserve()

その場合、出力は1、2、3、2、5になり、最初に3つのシート1、2、3を予約し、次に未予約の2と5になりますが、5はまだ予約されていません。次に、5を予約します。

これを解決するには、次の手順に従います-

  • Constuctor()を定義します。これには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を取ります

  • empty_seatsの最後にseatNumberを挿入します

理解を深めるために、次の実装を見てみましょう-

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プログラムを実行する方法は?

    コードを記述したら、コードを実行して実行し、出力を取得する必要があります。プログラムを実行すると、コードが正しく記述され、目的の出力が生成されるかどうかを確認できます。 Pythonプログラムの実行は非常に簡単な作業です。 IDLEで実行 IDLEでPythonプログラムを実行するには、指定された手順に従います- Pythonコードを記述して保存します。 プログラムを実行するには、[モジュールの実行]に移動します または、F5をクリックするだけです。 コマンドラインで実行 Pythonスクリプトファイルは「.py」拡張子で保存されます。 Pythonスクリプトを保存したら

  2. じゃんけんゲームを実装するPythonプログラム

    Pythonを使用すると、非常に興味深いゲームを開発することもできます。じゃんけんゲームもそのひとつです。ここでは、乱数を生成するためにrandint()関数を使用します。 このゲームでは、プレーヤーは通常、拳で片手を上げてカウントを下に振るか、後ろに持っていくたびに、3までカウントするか、ゲームの名前を話します。 サンプルコード # importing required random module import random print("The Rules of Rock paper scissor game will be follows: \n" +"R