-5
k = 0
for z in xrange(x,y,2):  
    k += 1
print (k == 3)

だから私はこれを満たすxとyの値を見つけようとしています。1 + 2 = 3 = kであるため、x=1およびy=2を取得しています。しかし、+=の部分は私を投げています。これを解決できる人はいますか?

4

4 に答える 4

2

したがって、質問は、その呼び出しで必要な最初と2番目の値は何であるかを尋ねることです。xrangeこれにより、kは毎回1ずつ増加し、最終的に値3になります。

xrange各パラメーターの機能に注意しながら、ドキュメントを調べる必要があります(ここで2に設定されている3番目のパラメーターを忘れないでください)。

于 2012-08-01T15:02:50.613 に答える
1

+=実際に何が行われるかを確認するには、次のことを試してください。

a = 0
a+=1  # (0+1)
print (a) # 1 
a += 3 # (1+3)
print (a) # 4 

うまくいけば、その知識を範囲関数のドキュメントと組み合わせて使用​​して、問題を理解することができます(この問題については、同等のものとして表示できますxrangerange

于 2012-08-01T15:01:58.990 に答える
1

つまり、実際にやろうとしているのは、xrange正確に 3 つの数値を返すオブジェクトを作成することです。

への最初の 2 つの引数xrangeは、開始値 (この例では何でもかまいません) と終了値 (実際には、範囲内に収まらない最小値です) です。の場合、開始値から始まり、毎回 2 ずつ増加する範囲に 3 つの値が含まれるように、終了値を選択する必要があります。

解決策は読者に委ねます。

于 2012-08-01T15:08:32.540 に答える
0

説明: 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 です。

于 2012-08-01T15:09:00.790 に答える