Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình thiết kế hệ thống đỗ xe bằng Python

Giả sử bạn muốn thiết kế một hệ thống bãi đậu xe. Một bãi đậu xe có ba loại chỗ đậu xe khác nhau - lớn, vừa và nhỏ. Và có số lượng khe cắm cố định cho mỗi kích thước. Tạo một lớp có tên OurParkingSystem bằng hai phương thức -

  • hàm tạo (lớn, vừa, nhỏ) - Hàm tạo này đang lấy số lượng vị trí có sẵn cho các không gian khác nhau và khởi tạo đối tượng của lớp OurParkingSystem.

  • addCar (carType) - Phương pháp này kiểm tra xem có chỗ đậu xe của carType nhất định cho chiếc xe muốn đặt bên trong bãi đậu xe hay không.

Ba vị trí lớn, trung bình hoặc nhỏ, được biểu thị bằng 1, 2 và 3 tương ứng. Ràng buộc là ô tô chỉ có thể đậu trong một chỗ đậu xe nếu carType được khớp. Nếu không còn chỗ trống, hãy trả về false, nếu không, hãy đỗ xe vào khoảng trống có kích thước đó và trả về true.

Nếu có 2 khoảng trống cho ô tô lớn, không có khoảng trống cho ô tô trung bình và 1 ô trống cho ô tô nhỏ, thì lệnh gọi hàm tạo sẽ giống như OurParkingSystem (2, 0, 1) và nếu chúng ta gọi addCar như -

addCar (3) - thêm một chiếc xe nhỏ và trả về true

addCar (2) - Không có không gian để thêm xe vừa nên trả về false

addCar (3) - Không có chỗ để thêm một chiếc ô tô nhỏ mới nên trả về false

addCar (1) - thêm một chiếc xe lớn và trả về true

addCar (1) - thêm một chiếc xe lớn khác và trả về true

addCar (1) - Không có chỗ cho một chiếc xe lớn khác nên trả về false

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Định nghĩa một hàm tạo hàm (). Điều này sẽ có kích thước lớn, trung bình, nhỏ

  • sp:=một danh sách như [0, big, medium, small]

  • Định nghĩa một hàm addCar (). Thao tác này sẽ sử dụng carType

  • nếu sp [carType]> 0, thì

    • sp [carType]:=sp [carType] - 1

    • trả về True

  • trả về Sai

Ví dụ (Python)

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

ps.addCar(3)
ps.addCar(2)
ps.addCar(3)
ps.addCar(1)
ps.addCar(1)
ps.addCar(1)

Đầu ra

True
False
False
True
True
False