Python中的“附加”循环不起作用

时间:2015-05-05 16:40:21

标签: python oop

我想使用while循环在“self.CarteInMano”列表中添加列表“M.Carte”(长度40)的最后三项:

ObjectDataSource

但是,之后:

Bind() of the

我明白了:

class Mano:
    def __init__(self,Giocatore,Dimensioni=3):
        self.Giocatore=Giocatore
        self.CarteInMano=[]
        self.Dimensioni=Dimensioni

    def Pesca(self):
        a=0
        while a==self.Dimensioni:
            self.CarteInMano.append(M.Carte.pop())
            a=a+1

为什么“佩斯卡”不做它必须做的事情?

1 个答案:

答案 0 :(得分:1)

您的问题在这里:

while a==self.Dimensioni:
    self.CarteInMano.append(M.Carte.pop())
    a=a+1

这只会在您a == 3尝试此操作时运行:

while a<=self.Dimensioni:
    self.CarteInMano.append(M.Carte.pop())
    a=a+1

原因在于,在第一个代码中,只有当它与维度相等时才会运行,并且因为它从0开始而不是3,所以它永远不会相等,并且会跳过代码。如果您使用<=,则现在运行代码,而a小于或等于3

<强>

如果你想获得3个元素,那么只需使用<,使用<=将获得4个元素(因为它适用于0,1,2和3)。