k = 0
for z in xrange(x,y,2):
k += 1
print (k == 3)
だから私はこれを満たすxとyの値を見つけようとしています。1 + 2 = 3 = kであるため、x=1およびy=2を取得しています。しかし、+=の部分は私を投げています。これを解決できる人はいますか?
k = 0
for z in xrange(x,y,2):
k += 1
print (k == 3)
だから私はこれを満たすxとyの値を見つけようとしています。1 + 2 = 3 = kであるため、x=1およびy=2を取得しています。しかし、+=の部分は私を投げています。これを解決できる人はいますか?
したがって、質問は、その呼び出しで必要な最初と2番目の値は何であるかを尋ねることです。xrange
これにより、kは毎回1ずつ増加し、最終的に値3になります。
xrange
各パラメーターの機能に注意しながら、ドキュメントを調べる必要があります(ここで2に設定されている3番目のパラメーターを忘れないでください)。
+=
実際に何が行われるかを確認するには、次のことを試してください。
a = 0
a+=1 # (0+1)
print (a) # 1
a += 3 # (1+3)
print (a) # 4
うまくいけば、その知識を範囲関数のドキュメントと組み合わせて使用して、問題を理解することができます(この問題については、同等のものとして表示できますxrange
)range
。
つまり、実際にやろうとしているのは、xrange
正確に 3 つの数値を返すオブジェクトを作成することです。
への最初の 2 つの引数xrange
は、開始値 (この例では何でもかまいません) と終了値 (実際には、範囲内に収まらない最小値です) です。の場合、開始値から始まり、毎回 2 ずつ増加する範囲に 3 つの値が含まれるように、終了値を選択する必要があります。
解決策は読者に委ねます。
説明: xrange(a,b,c); a は開始、b は終了、c はステップです。たとえば、xrange(0,10,1) は、0 から開始し、10 に達するまで 1 ずつカウントしてから停止することを意味します。
説明: +=; a += b: は、値 a を取り、それに b を追加すると言っています。
x = 1 と y = 2 は機能しません。これは、1 から開始し、それに 2 を追加して 3 を取得するためです。これは y (2) よりも高いため、停止します。したがって、ループは 1 回だけ発生するため、k の値は 1 です。