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
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP