提问人:user33061 提问时间:11/8/2008 最后编辑:Anupamuser33061 更新时间:12/27/2016 访问量:4755
python - 在循环结束时检查是否需要再次运行
python - check at the end of the loop if need to run again
答:
14赞
Martin Cote
11/8/2008
#1
while True:
func()
answer = raw_input( "Loop again? " )
if answer != 'y':
break
6赞
HanClinto
11/8/2008
#2
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赞
S.Lott
11/8/2008
+1:正式退出条件,没有中断(另外,我删除了多余的打印)
0赞
HanClinto
11/8/2008
啊,谢谢 S. Lott。我正在比赛,错过了那场比赛——谢谢!:)
5赞
Jason L
11/8/2008
#3
有两种常用的方法,都已经提到过,它们相当于:
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) 在某些语言的嵌套范围中可能会有违反直觉的行为;2)第一种方法与“while”的预期用法相悖;3)你的例程应该始终有一个单一的出口点break
评论
0赞
tzot
11/8/2008
现在,只要你保留两个代码位并删除最后三段,我保证我会为你投赞成票;)
0赞
Jason L
11/9/2008
在那里,我把它说得更直截了当。只是出于好奇,我说的话有问题还是我只是这么说的?
1赞
J.T. Hurley
11/26/2008
#4
While raw_input("loop again? y/n ") != 'n':
do_stuff()
上一个:如何使循环并排运行?
下一个:循环是构建表的最佳方式吗?
评论