这是一个非常基础的问题,但我现在想不到怎么做。我如何设置一个循环,每次运行函数时都会询问是否再次运行它。所以它运行后会说类似于;
"再次循环?y/n"
while True:
func()
answer = raw_input( "Loop again? " )
if answer != 'y':
break
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
通常有两种方法,都已经提到了,它们分别是:
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
两种方法都可以正常工作。从“声音设计”角度来看,最好使用第二种方法,因为:1)在某些语言的嵌套范围中,break
可能具有反直觉的行为;2)第一种方法与“while”的预期使用相反;3)您的例程应始终具有单个退出点。
While raw_input("loop again? y/n ") != 'n':
do_stuff()