私はPythonが初めてです。実際には以下のようにJavaを使って実装しました。Pythonの無限ループfor
for(;;){
switch(expression){
case c1: statements
case c2: statements
default: statement
}
}
これをPythonでどのように実装できますか?
私はPythonが初めてです。実際には以下のようにJavaを使って実装しました。Pythonの無限ループfor
for(;;){
switch(expression){
case c1: statements
case c2: statements
default: statement
}
}
これをPythonでどのように実装できますか?
使用whileループ:
while True:
if condition1:
statements
elif condition2:
statements
...
else:
statements
while True:
# do stuff forever
あなたは正式には、Pythonで何switch
文はありません
while True:
if c1:
statements
elif c2:
statements
else:
statements
または
var = 1
while var == 1:
# do stuff
を使用することができます。これは一連のネストされたif-elif-else
ステートメントです。
無限ループは、while True
ステートメントによって実行されます。すべて一緒に
:
while True:
if condition_1:
condition_1_function
elif condition_2:
condition_2_function
elif condition_3:
condition_3_function
else: # Always executes like "default"
condition_default_function
'switch /'にあるように 'if/elif/else'にフォールスルーがないことに気をつけてください。 – dcrosta
あなたがpythonで無限に反復処理する方法を探している場合は、forループのようにitertools.count()関数を使用することができます。 http://docs.python.org/py3k/library/itertools.html#itertools.count
これは、itertools.count(0、 0)) 'を生成器を期待する関数の引数として使用します。 whileループを持つ別の関数を定義する必要はありません。 – hobs
@hobsこれを達成するには、 'itertools.repeat( 'CONSTANT')'を使用します。 – flornquake
通常、無限ループに話している場合は、整数の代わりにブール値「真」を使用するほうが暗黙的です。こうすることで、意図が明確になり、デバッグが容易になります( 'var'の値は時間とともに変化しないでしょうか?)。 – Makoto
真実です。ブール値を使うことは(おそらく)祝福された方法です。それは同じことを達成するもう一つの例です。 'var'は変更することができますが、それは開発者がその方法を選択すると変更しないことにもなります。 ;-) –
しかし、なぜ 'var'を使うのでしょうか?ポイントが無限ループを作成するために常に1に等しい値を持つことになっているならば、 'while 1 == 1'と言うだけではどうですか?そしてそれをやったのは、真実の間に書くだけでは不合理です。 – Ben