Python停車系統設計程式


假設您想設計一個停車系統。停車場有三種不同的停車位——大型、中型和小型。每種尺寸的停車位數量是固定的。建立一個名為OurParkingSystem的類,其中包含兩個方法:

  • **建構函式(big, medium, small)** ——此建構函式接收不同停車位可用的車位數量,並初始化OurParkingSystem類的物件。

  • **addCar(carType)** ——此方法檢查是否存在給定carType的停車位,以便將想要停入停車場的汽車停放。

大型、中型和小型三個停車位分別用1、2和3表示。限制是只有當carType匹配時,汽車才能停放在停車位中。如果沒有可用的空間,則返回false,否則將汽車停放在該尺寸的車位中並返回true。

如果有2個大型車位,沒有中型車位,有1個小型車位,則建構函式呼叫將類似於OurParkingSystem(2, 0, 1),如果我們像這樣呼叫addCar:

**addCar(3)** ——新增一輛小型車並返回true

**addCar(2)** ——沒有空間新增中型車,所以返回false

**addCar(3)** ——沒有空間新增另一輛小型車,所以返回false

**addCar(1)** ——新增一輛大型車並返回true

**addCar(1)** ——新增另一輛大型車並返回true

**addCar(1)** ——沒有空間容納另一輛大型車,所以返回false

為了解決這個問題,我們將遵循以下步驟:

  • 定義一個建構函式()。這將接收big、medium、small。

  • 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

更新於:2021年5月17日

2K+瀏覽量

啟動您的職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.