关于python:python – 如果需要再次运行,请在循环结束时检查

python - check at the end of the loop if need to run again

这是一个非常基本的问题,但我不能在第二个问题上思考。 我如何设置一个循环,每当内部函数运行时询问是否再次执行它。 所以它运行它然后说类似的东西;

"再次循环?y / n"


1
2
3
4
5
while True:
    func()
    answer = raw_input("Loop again?" )
    if answer != 'y':
        break


1
2
3
4
5
6
7
8
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


有两种常用的方法,都已经提到过,相当于:

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

要么

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

两者都能正常运作。 从"声音设计"的角度来看,最好使用第二种方法,因为1)break在某些语言的嵌套作用域中可能具有违反直觉的行为; 2)第一种方法与"while"的预期用途相反; 3)你的例程应始终有一个退出点


1
2
While raw_input("loop again? y/n") != 'n':
    do_stuff()