Я делаю проект по созданию базы данных авиакомпании (простой) с python 3.
. Он содержит три разных кода: Самолет, Полет и Авиакомпания. Все три кода работают вместе, и самолет и самолет работают правильно. Проблема с авиакомпанией.
Код выполняется с тестовым кодом. Этот тестовый код содержит всю информацию о самолетах и рейсах. Эта информация сохраняется в двух разных классах, которые впоследствии вызываются программой авиакомпании.
Проблема возникает, когда я пытаюсь вызвать Airline.fleet (а также операции и расписание) из класса CAirline.
Программа возвращает:
AttributeError: 'list' object has no attribute 'fleet'
Код авиакомпании:
import Aircraft
import Flight
def Airline():
class CAirline:
def __init__(self):
self.name = ""
self.fleet = ""
self.operations = ""
self.schedule = ""
return CAirline
def add_aircraft(a, ac):
a=[Airline() for i in range(10)]
j=0
while j<len(a.fleet):
if a[j].fleet[0]==ac[0]:
return False
else:
a.fleet.append(ac)
return True
j+=1
Код испытания:
import Aircraft
import Flight
import Airline
def createXicaAirline ():
AC1 = Aircraft.Aircraft()
AC1.callsign = "EC234"
AC1.type = "A320"
AC1.seats = 280
AC2 = Aircraft.Aircraft()
AC2.callsign = "EC504"
AC2.type = "A321"
AC2.seats = 310
FL1 = Flight.Flight()
FL1.dep = "Barcelona"
FL1.arr = "Budapest"
FL1.time_dep = 8*60
FL1.time_arr = 11*60
FL1.passengers = 54
FL2 = Flight.Flight()
FL2.dep = "Barcelona"
FL2.arr = "Istambul"
FL2.time_dep = 9*60
FL2.time_arr = 12.5*60
FL2.passengers = 154
FL3 = Flight.Flight()
FL3.dep = "Istambul"
FL3.arr = "Budapest"
FL3.time_dep = 17*60
FL3.time_arr = 19.25*60
FL3.passengers = 140
FL4 = Flight.Flight()
FL4.dep = "Budapest"
FL4.arr = "Barcelona"
FL4.time_dep = 20*60
FL4.time_arr = 23*60
FL4.passengers = 97
Xica = Airline.Airline()
Xica.name = "Xica Airline"
Airline.add_aircraft(Xica, AC1)
Airline.add_aircraft(Xica, AC2)
Airline.add_operation(Xica, FL1)
Airline.add_operation(Xica, FL2)
Airline.add_operation(Xica, FL3)
Airline.add_operation(Xica, FL4)
return Xica
print ("Phase1 test program")
A = createXicaAirline()
Airline.show_airline(A)
print ("Phase1 test program end")
Код работает до: Airline.add_aircraft (Xica, AC1)