有点卡在我的代码上所以我想知道你是否可以帮助我。
这是代码的一部分:
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)
感谢目前为止的所有回复