有一个用于注册汽车和驾驶员的Python程序。
问题是只执行了第一部分,第二部分抛出错误。
我不明白出了什么问题。如果有人知道,请告诉我。
我的代码:
class Car:
def __init__(self, license_plate, brand, model, color):
self.license_plate = license_plate
self.brand = brand
self.model = model
self.color = color
class Driver:
def __init__(self, name, age, license_number):
self.name = name
self.age = age
self.license_number = license_number
class ParkingLot:
def __init__(self):
self.cars = []
self.drivers = []
def add_car(self, car):
self.cars.append(car)
print(f"Машина {car.license_plate} добавлена в учет.")
def add_driver(self, driver):
self.drivers.append(driver)
print(f"Водитель {driver.name} добавлен в учет.")
def remove_car(self, car):
self.cars.remove(car)
print(f"Машина {car.license_plate} удалена из учета.")
def remove_driver(self, driver):
self.drivers.remove(driver)
print(f"Водитель {driver.name} удален из учета.")
def get_car_by_license_plate(self, license_plate):
for car in self.cars:
if car.license_plate == license_plate:
return car
return None
def get_driver_by_license_number(self, license_number):
for driver in self.drivers:
if driver.license_number == license_number:
return driver
return None
while True:
# Пример использования программы
parking_lot = ParkingLot()
print('enter number car')
nu_car = input()
print('enter color car')
color = input()
print('enter firm car')
firm_car = input()
print('enter model car')
model = input()
print('enter first last name')
name = input()
print('enter age driver')
age = int(input())
print('enter drivedoc')
docc = int(input())
car1 = Car(f"{nu_car}", f"{firm_car}", f"{model}", f"{color}")
driver1 = Driver(f"{name}", f"{age}", f"{docc}")
print('Выберите соответсвующую цифру: 1-добавить в учёт, 2-удалить из учёта')
count = int(input())
if count == 1:
# Добавляем машину и водителя в учет
parking_lot.add_car(car1)
parking_lot.add_driver(driver1)
elif count == 2:
# Удаляем машину и водителя из учета
parking_lot.remove_car(car1)
parking_lot.remove_driver(driver1)
我评论了你的代码,检查一下。但你需要仔细考虑你的程序的逻辑。