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

Pythonで駐車システムを設計するプログラム


駐車システムを設計するとします。駐車場には、大、中、小の3種類の駐車スペースがあります。また、サイズごとに固定数のスロットがあります。 2つのメソッドを使用してOurParkingSystemというクラスを作成します-

  • コンストラクター(大、中、小) −このコンストラクターは、さまざまなスペースで使用可能なスロットの数を取得し、OurParkingSystemクラスのオブジェクトを初期化します。

  • addCar(carType) −このメソッドは、駐車場内に配置したい車に対して、指定されたcarTypeの駐車スペースがあるかどうかをチェックします。

大、中、小の3つのスロットは、それぞれ1、2、3で表されます。制約は、carTypeが一致する場合にのみ、車が駐車スペースに駐車できることです。利用可能なスペースがない場合はfalseを返し、そうでない場合はそのサイズのスペースに車を駐車してtrueを返します。

大型車用に2つのスペース、中型車用にスペースがなく、小型車用に1つのスペースがある場合、コンストラクター呼び出しはOurParkingSystem(2、0、1)のようになり、addCarを呼び出す場合は-

addCar(3) −小型車を1台追加して、trueを返します

addCar(2) −中型車を追加するスペースがないため、falseを返します

addCar(3) −新しい小型車を追加するスペースがないため、falseを返します

addCar(1) −大きな車を1台追加して、trueを返します

addCar(1) −別の大きな車を追加してtrueを返す

addCar(1) −別の大きな車のためのスペースがないのでfalseを返します

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

  • 関数constructor()を定義します。これには、大、中、小が必要です

  • sp:=[0、big、medium、small]

    のようなリスト
  • 関数addCar()を定義します。これにはcarTypeが必要です

  • sp [carType]> 0の場合、

    • sp [carType]:=sp [carType]-1

    • Trueを返す

  • Falseを返す

例(Python)

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

class OurParkingSystem:
   def __init__(self, big, medium, small):
      self.sp = [0,big,medium,small]

   def addCar(self, carType):
      if(self.sp[carType] >0 ):
         self.sp[carType] -= 1
         return True
      return False

ps = OurParkingSystem(2, 0, 1)
print(ps.addCar(3))
print(ps.addCar(2))
print(ps.addCar(3))
print(ps.addCar(1))
print(ps.addCar(1))
print(ps.addCar(1))

入力

ps.addCar(3)
ps.addCar(2)
ps.addCar(3)
ps.addCar(1)
ps.addCar(1)
ps.addCar(1)

出力

True
False
False
True
True
False

  1. Pythonプログラムへの単純な関心

    この記事では、Python3.xでの単利の計算について学習します。またはそれ以前。 単純な関心 は、1日の利率に元本を掛け、支払いの間に経過した日数を掛けて計算されます。 数学的に 単利=(P x T x R)/ 100 どこで、 Pは元本です Tは時間であり Rはレートです たとえば、 P =1000の場合、R =1、T =2 次にSI=20.0 それでは、Pythonで単純な利息計算機を実装する方法を見てみましょう。 例 P = 1000 R = 1 T = 2 # simple interest SI = (P * R * T) / 100 print(&

  2. Pythonプログラムでの選択ソート

    この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-