这一节我们主要来介绍while循环。
之前的for循环是将元素从头到尾遍历一遍,而while循环是一直执行,直到碰到不符合的条件的情况。
来看个小例子:
我们先将变量number设为0,然后在while循环中,只要变量小于等于3,这个循环将一直执行下去。循环体的最后一行是number+=1,这是number=number+1的简写。这行代码的作用是,可以让变量number不断增加1,最后超过3,破坏while循环中的条件。否则代码就会一直执行下去。
我们可以利用while的这个特性,让用户在输入信息时可以选择随时终止。比如下面这个例子:
首先,我们指定了一些提示信息,存储在变量info中。然后指定了一个空字符串,为了让while循环能够开始。随后将用户输入的信息存储在变量i中,只要用户输入的不是‘quit’,那么循环将一直进行下去。
比如,我们先输入‘james’,然后输入‘quit’,来看下结果:
上面的代码最后有个小缺陷,就是当我们输入‘quit’后,还是会将其打印出来。为了不打印这个‘quit’,我们可以在while循环中添加一个if语句:
关键在于第6行代码,只有在变量i不为‘quit’时,我们才将其打印。来看下输出结果:
此外,我们还可以设置一个标签,让while后的表达式更简洁:
第3行代码中,我们设置了一个变量flag,令其为True。只要flag的值为True,while循环就将一直运行下去。在循环体中,我们设置了一个if语句,当用户输入‘quit’时,flag的值将为False,从而使while循环终止。
我们输入‘wade’和‘quit’,来看下结果:
另外,还可以使用关键字break,立刻跳出while循环。因此,上述代码可更改为:
whileTrue表示循环将一直运行下去,除非用户输入‘quit’,此时将执行break语句,立刻终止while循环。
如果你只是想跳过循环体中的某些语句而不是终止循环,那么可以使用continue语句:
上面的代码可以让我们打印0-10中的偶数,注意到第4、第5行代码中,如果变量number的余数不为0,通过continue语句,我们将直接执行下一次循环,而跳过随后的print语句。这样就打达到了只打印偶数,不打印奇数的目的。
今天的内容有点多,不过还是很好理解的,加油!快乐继续中!
领取专属 10元无门槛券
私享最新 技术干货