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 をループするが、他の変数はループしないと思うので、複数のネストされたループを使用してi++, b++and c++?を取得する必要があります。

4

2 に答える 2

6

b == b+1False代入ではなく、論理式 (毎回返される) です。次のようなものが必要だと思います: b += 1

于 2013-03-02T17:43:48.230 に答える
4

==は Python の等価演算子です。=代入演算子です。

==左オペランドと右オペランドが等しいかどうかをチェックし、それに応じて True または False を返します。bいずれにb+1せよ、副作用のない演算 (2 つの値を比較して等しいかなど) を実行し、その結果に対して何もしないのは意味がありません。

変数の値を変更する場合は、=代わりに代入演算子を使用します==

于 2013-03-02T17:43:55.803 に答える