用Python设计停车系统的程序
假设您要设计一个停车系统。一个停车场有三种不同的停车位——大、中、小。每个尺寸都有固定数量的插槽。使用两种方法创建一个名为OurParkingSystem的类-
constructor(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
示例(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