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
-
Pythonプログラムを実行する方法は?
コードを記述したら、コードを実行して実行し、出力を取得する必要があります。プログラムを実行すると、コードが正しく記述され、目的の出力が生成されるかどうかを確認できます。 Pythonプログラムの実行は非常に簡単な作業です。 IDLEで実行 IDLEでPythonプログラムを実行するには、指定された手順に従います- Pythonコードを記述して保存します。 プログラムを実行するには、[モジュールの実行]に移動します または、F5をクリックするだけです。 コマンドラインで実行 Pythonスクリプトファイルは「.py」拡張子で保存されます。 Pythonスクリプトを保存したら
-
じゃんけんゲームを実装するPythonプログラム
Pythonを使用すると、非常に興味深いゲームを開発することもできます。じゃんけんゲームもそのひとつです。ここでは、乱数を生成するためにrandint()関数を使用します。 このゲームでは、プレーヤーは通常、拳で片手を上げてカウントを下に振るか、後ろに持っていくたびに、3までカウントするか、ゲームの名前を話します。 サンプルコード # importing required random module import random print("The Rules of Rock paper scissor game will be follows: \n" +"R