这是一个非常基本的问题,但我不能在第二个问题上思考。我如何设置一个循环,每当内部函数运行时询问是否再次执行它。所以它运行它然后说类似;
“再次循环?y / n”
答案 0 :(得分:13)
while True:
func()
answer = raw_input( "Loop again? " )
if answer != 'y':
break
答案 1 :(得分: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
答案 2 :(得分:5)
有两种常用的方法,都已提到过,相当于:
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)你的例程应始终有一个退出点
答案 3 :(得分:1)
While raw_input("loop again? y/n ") != 'n':
do_stuff()