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+浏览量

启动您的职业生涯

完成课程后获得认证

开始
广告