import random
class Lift(object):
def _init_(self,floors,passengers_in,direction ="up",cur_floor=1):
self.total_floors = floors
self.reg_list = []
self.floor = cur_floor
self.direct = direction
def move(self):
if self.total_floors == self.floors:
self.direct = "down"
if self.direct == "up" :
self.floor += 1
else :
self.floor -= 1
def get_in(self,passenger):
self.reg_list.append(passenger)
def get_out(self,passenger):
self.reg_list.remove(passenger)
class Building(object):
def _init_(self,floors,passengers,lift):
self.total_floors=floors
self.passengers=passengers
def run(self):
while lift.floor != 0:
for passenger in self.passengers:
print(passenger)
if lift.floor == passenger.on_floor:
lift.reg_list.append(passenger)
passenger.indicator = 1
elif lift.floor == passenger.going_floor:
lift.reg_list.remove(passenger)
passenger.indicator = 0
passenger.fin = 1
lift.move()
def output(self):
pass
class Passenger(object):
def _init_(self,ID,floors,cur_floor=0,end_floor=0,in_lift=0, finished=0):
self.ident = ID
self.indicator = in_lift
self.fin = finished
cur_floor = random.randint(1, floors)
self.on_floor = cur_floor
end_floor = random.randint (1, floors)
while end_floor == cur_floor:
end_floor = random.randint(1, floors)
self.going_floor = end_floor
passenger_count = int(input("How many passengers are in the building?: "))
floor_count = int(input("How many floors does the building have?: "))
pass_list=[]
for i in range(1,passenger_count+1):
pass_list.append(Passenger(i,floor_count))
elevator = Elevator(floor_count,cus_list)
building = Building(floor_count,cus_list, elevator)
What is wrong with this code ?
Explain what you expect to happen and what is actually happening and any errors received in error tags.
Note that building.run isn't going to do anything unless you call it. I think you will get an error when you try though, as lift is not defined in run, nor is it saved in Building.__init__.
import random
#Σχεδιασμός 3 κλάσεων,των Lift,Building και Passenger
class Lift(object):
def __init__(self,floors,passengers_in,direction ="up",cur_floor=1):
self.total_floors = floors
#Ο ανελκυστήρας αρχικά είναι άδειος
self.reg_list = []
self.floor = cur_floor
self.direct = direction
def move(self):
if self.total_floors == self.floors:
self.direct = "down"
if self.direct == "up" :
self.floor += 1
else :
self.floor -= 1
def get_in(self,passenger):
self.reg_list.append(passenger)
def get_out(self,passenger):
self.reg_list.remove(passenger)
class Building(object):
def __init__(self,floors,passengers,lift):
self.total_floors=floors
self.passengers=passengers
def run(self):
while lift.floor != 0:
for passenger in self.passengers:
print(passenger)
if lift.floor == passenger.on_floor:
lift.reg_list.append(passenger)
passenger.indicator = 1
elif lift.floor == passenger.going_floor:
lift.reg_list.remove(passenger)
passenger.indicator = 0
passenger.fin = 1
lift.move()
def output(self):
pass
class Passenger(object):
def __init__(self,ID,floors,cur_floor=0,end_floor=0,in_lift=0, finished=0):
self.ident = ID
self.indicator = in_lift
self.fin = finished
cur_floor = random.randint(1, floors)
self.on_floor = cur_floor
end_floor = random.randint (1, floors)
while end_floor == cur_floor:
end_floor = random.randint(1, floors)
self.going_floor = end_floor
passenger_count = int(input("How many passengers are in the building?: "))
floor_count = int(input("How many floors does the building have?: "))
pass_list=[]
for i in range(1,passenger_count+1):
pass_list.append(Passenger(i,floor_count))
lift = Lift(floor_count,pass_list)
building = Building(floor_count,pass_list, lift)
This sounds like homework where you dont put any effort in
While that sounds possible, it could also be that the OP simply isn't very familiar with English.