我想使用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
为什么“佩斯卡”不做它必须做的事情?
答案 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)。