0

このエレベーターの割り当てがあり、1 つの場所で立ち往生しています。顧客のリストを含む建物オブジェクトがあります。顧客がエレベーターに入る方法を試しています-顧客はエレベーターリストに追加されますが、その顧客を建物リストから削除する方法を見つけることができません:試してみましたが、喜びはdelありませんでした. list.remove(item)誰かが私を正しい方向に向けることができますか?

class building(object):  
    def __init__(self, floors = 0, customerNo = 0,):
        self.floors = 0
        self.myE = elevator()
        self.customerNo = 0
        self.customersWaiting = []
        self.customersTransported = []

    def initCustomers(self):        
        cnt = 1
        cust = cnt
        while cnt <= myB.customerNo :
            floor = random.randint(0, self.floors - 1)
            destination = random.randint(0, self.floors - 1)
            cust = customer(cnt, floor , destination )
            self.customersWaiting.append(cust)
            cnt +=1

class customer(object):
    def __init__(self,cnt, floor = 0, destination = 0):
        self.cnt = cnt
        self.floor = floor
        self.destination = destination

    def enterElevator(self):
        for cust in myB.customersWaiting :
            if myB.myE.lvl == self.floor :
                myB.myE.customersIn.append(self)
                #del cust(self)
                #myB.customersWaiting.remove(self)
            else:
                pass
4

1 に答える 1

0

こんにちは、私の提案の一部です:

1) 建物には N 階が必要です。n 階の建物を作成する buildingFactory を使用できます。

def createBuilding(self, N):
    return building = Building(N)
class Building:
    def __init__(self, N):
        self.floorWatingList= []
        for f in range(N):
            self.floorWaitingList.append() = []

2) clear() または pop() メソッドを使用してリストから顧客を削除します

for c in building.floorWaitingList[current]:
      elvator.enter(c)
building.floorWaitingList.clear()
于 2013-04-25T00:56:49.397 に答える