从另一个对象

时间:2017-09-10 19:27:57

标签: python

有点卡在我的代码上所以我想知道你是否可以帮助我。

这是代码的一部分:

def computerChoice():
    wVar2 = 0
    for aSeat in Seats:
        aSeat1 = aSeat
        while wVar2 < int(noOfSeats):
            print(aSeat1)
            if aSeat1.rightObject == "_":
                break
            elif aSeat1.rightObject.booked == False:
                aSeat1 = aSeat1.rightObject
                wVar2 += 1
            else:
                break
            possibleSeats.append(aSeat.co)

其中rightObject引用同一个类中的另一个对象。 它出现了错误消息:

AttributeError: 'int' object has no attribute 'booked'

通过几个打印语句,我发现while循环第一次工作。只有在重新分配aSeat1时,并且当调用该属性时,它才会变为0。

E.g。你不能只说

aSeat1.rightObject.rightObject.booked

有谁知道如何解决这个问题,还是我必须从另一个角度去解决这个问题?

编辑:课程的初始化如下:

class Seat:
    def __init__ (self,seat_coordinate,seat_booked,seat_right,seat_right_object,seat_worth):
        self.co = seat_coordinate
        self.booked = seat_booked
        self.right = seat_right
        self.rightObject = seat_right_object
        self.worth = seat_worth

示例对象为:

   A1 = Seat("A1", False, "A2", A2, "A2", 0)

感谢目前为止的所有回复

0 个答案:

没有答案