私はfor C++を持っていますが、Pythonで記述したいのですが、forの条件をどのように処理するか分かりません。誰でも助けてくれますか?Pythonでforループを書く方法
for (int b = (i - a)/2; a + b <= i; b++);
私はfor C++を持っていますが、Pythonで記述したいのですが、forの条件をどのように処理するか分かりません。誰でも助けてくれますか?Pythonでforループを書く方法
for (int b = (i - a)/2; a + b <= i; b++);
終了条件a + b <= i
は(Pythonのfor
がない以下未満で使用されるように)順番にb < i - a + 1
あろうb <= i - a
と等価です。
for b in range((i - a)/2, i - a + 1):
...
をしかし、非常に多くの場合、あなたは、PythonにC/C++から変換するときなどのためのように書きたくはありません:Pythonであなたが書くことができ意味
。コードを完全に再構成する方がよいかもしれません。
はい、うまくいきます。ありがとうございました :) – AzHK
使用while
a=something
i=something
b=(i-a)/2
while(a+b<=i):
###do whatever you want in the loop###
b+=1
もちろん、このような状況ではwhileループが適しているかもしれませんが、 "forループをPythonで書く方法"の質問には答えません。 –
ます:
for b in range((i-a)/2,a+b-1):
print (b)
をそして、何らかの理由で、あなたは終了値が必要な場合forループとd range()
機能。例:
for i in range(15):
#code to execute 15 times
しかし、あなたのコードで、私が代わりにwhileループを使用してお勧めします:
i = 1 #your value for i
b = (i-a)/2
while a+b <= i:
# Other code
b+=1
あなたの混乱は、Cの反復構築物の過剰一般に由来します。 Pythonは、すべてのループパラメータが暗黙的にループインデックスを参照すると主張しています。私はB < - A + 1
今、私たちはループの
for b in range((i-a)/2, (i-a)+1):
ワンを取得:終了条件については、Bの面であなたの不平等を解決し、のない平等0からiaまでの範囲があり、その上半分に対処したいという解釈があります。
は[インターネットが壊れています](https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=python+for+loop&*)ですか? – EdChum
ソフトウェア工学の半分は、ドキュメンテーションを研究して読む能力ではなく、プログラミング能力がないことが分かります。それだけでスキルです! –
行の最後にセミコロンがあると、最も単純なPythonの同等物は 'pass'です。 – Duncan