用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

猜你喜欢