我对for循环有点困惑 - 我能看到它看起来是正确的,但并不完全是我想用它完成的。我来自C背景,但这里的任何建议都是有益的。
def deal(player_num, cards):
a = 0
z = 0
i = 0
b = 0
c = player_num
hand = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
for a in range(player_num):
hand[a] = cards[i] + cards[i+b+c]
b == b+1
i == i+1
z == z+1
return hand
因此,for a in range(player_num)
似乎正在运作(附加a++
),但hand[0]
,hand[1]
等获得同样的权利。我想它会循环一个而不是其他变量,所以我需要使用多个嵌套循环来获取i++
,b++
和c++
?
答案 0 :(得分:6)
b == b+1
是一个逻辑表达式(每次都返回False
),而不是赋值。我猜你想要的东西是:b += 1
答案 1 :(得分:4)
==
是Python中的等号运算符。 =
是赋值运算符。
==
检查其左操作数和右操作数是否相等,并相应地返回True或False。 b
和b+1
将永远不会彼此相等,无论哪种方式执行没有副作用的操作都没有意义(比如将两个值进行相等比较),然后对其结果不做任何操作。
如果您想更改变量的值,请使用赋值运算符=
代替==
。