2

それは本当に基本的な質問ですが、2番目には考えられません。内部の関数が実行されるたびに、もう一度実行するかどうかを尋ねるループを設定するにはどうすればよいですか。したがって、それを実行してから次のように言います。

「またループ?y/n」

4

4 に答える 4

14
while True:
    func()
    answer = raw_input( "Loop again? " )
    if answer != 'y':
        break
于 2008-11-07T20:58:56.610 に答える
6
keepLooping = True
while keepLooping:
  # do stuff here

  # Prompt the user to continue
  q = raw_input("Keep looping? [yn]: ")
  if not q.startswith("y"):
    keepLooping = False
于 2008-11-07T20:59:57.497 に答える
5

通常のアプローチは2つあり、どちらもすでに説明しましたが、次のようになります。

while True:
    do_stuff() # and eventually...
    break; # break out of the loop

また

x = True
while x:
    do_stuff() # and eventually...
    x = False # set x to False to break the loop

どちらも正しく動作します。「サウンドデザイン」の観点からは、2番目の方法を使用するのが最適です。1)break一部の言語では、ネストされたスコープで直感に反する動作をする可能性があるためです。2)最初のアプローチは、「while」の使用目的に反するものです。3)ルーチンには常に単一の出口が必要です

于 2008-11-07T21:22:20.010 に答える
1
While raw_input("loop again? y/n ") != 'n':
    do_stuff()
于 2008-11-26T15:12:09.837 に答える