0

我有点卡住了 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]等得到了同样的帮助。我猜它循环 a 但不是其他变量,所以我需要使用超过 1 个嵌套循环来获取i++,b++c++?

4

2 回答 2

6

b == b+1是一个逻辑表达式(False每次都返回),而不是一个赋值。我猜你想要类似的东西: b += 1

于 2013-03-02T17:43:48.230 回答
4

==是 Python 中的等式运算符。=是赋值运算符。

==检查其左操作数和右操作数是否相等并相应地返回 True 或 False。b并且b+1永远不会彼此相等,无论哪种方式,执行没有副作用的操作(例如比较两个值是否相等)然后对其结果不做任何事情都是没有意义的。

如果要更改变量的值,请使用赋值运算符=而不是==.

于 2013-03-02T17:43:55.803 回答