python - check at the end of the loop if need to r

2020-04-16 18:16发布

It's a really basic question but i can't think at the second. How do i set up a loop that asks each time the function inside runs whether to do it again. So it runs it then says something like;

"loop again? y/n"

标签: python loops
4条回答
不美不萌又怎样
2楼-- · 2020-04-16 18:52
While raw_input("loop again? y/n ") != 'n':
    do_stuff()
查看更多
戒情不戒烟
3楼-- · 2020-04-16 19:00

There are two usual approaches, both already mentioned, which amount to:

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

or

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

Both will work properly. From a "sound design" perspective it's best to use the second method because 1) break can have counterintuitive behavior in nested scopes in some languages; 2) the first approach is counter to the intended use of "while"; 3) your routines should always have a single point of exit

查看更多
仙女界的扛把子
4楼-- · 2020-04-16 19:05
while True:
    func()
    answer = raw_input( "Loop again? " )
    if answer != 'y':
        break
查看更多
Deceive 欺骗
5楼-- · 2020-04-16 19:06
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
查看更多
登录 后发表回答