python如何使用while循环,python中while循环的基本语法形式

  python如何使用while循环,python中while循环的基本语法形式

  while和for都可以使程序重复执行某个代码(也称为循环体)。不同的是,for循环用于集合中的每个元素都有一个代码块,而while循环将在表达式为真时连续执行,直到不满足指定的条件。

  今天我们来学习while关键字的用法。

  1.while循环While的介绍英文解释为:When …

  Python中的语法是:

  While表达式:循环体是指当表达式为True时,程序会一直执行循环体代码,直至表达式为False

  1.1使用while循环最简单的while循环是数数。例如,下面的while循环从1到5计数:

  Num=1 while num=5:print(num)num=1首先,定义变量num并赋予其初始值1。下一个while循环被设置为只要num小于或等于5就运行循环体代码。

  循环中的代码打印变量num的值,然后使用代码num=1(代码num=num 1的缩写)将其值增加1。

  只要满足条件num=5,Python就会继续运行这个循环。由于1小于5,Python打印出1,并在num上加1使之为2;由于2小于5,Python打印2,并在num上加1使之为3,依此类推。一旦num大于5,循环将停止,整个程序将结束运行。

  运行结果:

  1345有些人可能看出来这有点蠢:已经有一个for循环了,为什么还要再创建一个while循环呢?

  注意:表达式包不是python代码,可以简单理解为:for循环主要用于我们知道循环次数的循环,比如遍历整个列表,我们知道循环次数就是列表中元素的个数。While loop主要用于那些我们不知道多少次的循环。人们常说人生就像一个程序。如果用代码写的话,我们生活中发生的一切都会活while:在loops的循环体中,我们不知道一个人能活多久,所以只能用while。

  当然,有些循环可以同时用for和while来实现。

  事实上,你每天使用的程序很可能包含一个while循环。比如游戏程序在一个大while循环中,玩家退出就停止运行。While loop可以让程序一直运行,直到用户停止,这对于loop来说是不可能的。

  1.2让用户选择何时退出。while循环可用于在用户需要时保持程序运行。当用户想要退出时,他可以随时退出:

  prompt= \ n输入一些内容,系统将按原样返回给您: prompt= \ n键入“退出”结束此程序。message=while message!= quit :message=input(prompt)print(message)我们定义了一个信息提示,告诉用户他有两个选择:要么输入一个消息,要么输入 quit 退出程序。

  接下来,我们创建了变量消息来接收用户的输入。执行Python while语句时,需要将message的值与 quit 进行比较。如果用户输入不是“退出”,程序将打印出用户输入,否则,程序将被终止。

  [外部链接图像传输失败(https://liuwynn.github.io/images/20190829/Figure 1-2 . png)]

  我们向控制台输入的任何信息(除了‘quit’)都可以得到相同的返回信息。

  当我们键入‘quit’时,我们可以终止程序运行:

  输入‘quit’确实终止了程序,但它也打印出‘quit’。其实无所谓。然而,我们不能忍受追求完美。怎样才能让它在输入‘退出’时直接退出,在输入其他信息时原样返回?

  prompt= \ n输入一些内容,系统将按原样返回给您: prompt= \ n键入“退出”结束此程序。message=while message!= quit :message=input(prompt)if消息!=quit: print(message)我们只是让程序在打印信息之前做一个简单的检查,只有当消息不是 quit 的时候才打印:

  可以清楚的看到,这次输入 quit 后,程序并没有向我们返回 quit (并不是天罡君故意不拦截下面的画面)。

  1.3更优雅的退出方式。在前面的例子中,我们使用了判断消息!=退出是真是假。有时,不止一个条件会影响程序是否继续执行。例如,用户输入“退出”或“退出”中的任何一个都可以终止程序。

  聪明的朋友会说那不简单。我将判断条件改为:

  留言!=退出或消息!=退出。这样做可能吗?答案是肯定的,但不是最好的,也不优雅。我们这些写程序的,偶尔可以追求一下代码的质量。

  [外部链接图片传输失败(IMG-0 jlpo 772-1568168463345)(https://Liu Wynn . github . io/images/2019 08 29/mingxue . jpg)]

  比较优雅的方式是使用标志。可能会有一些朋友对这个名词感受不深。我们直接去新鲜热辣的代码感受一下吧。

  prompt= \ n输入一些内容,系统将按原样返回给您: prompt= \ n键入“退出”结束此程序。Active=true while active:message=input(prompt)if message== quit :active=False elif message== exit :active=False else:print(message)我们把active作为标志位,初始值为True,这里必须为True,否则程序无法进入循环,更不用说执行循环体代码了。

  然后使用两个if语句来检查变量message的值。如果用户输入‘quit’,我们将把变量active设置为False,如果用户输入‘exit’,我们也将把变量active设置为False。

  至于为什么不把两个if判断条件写在一起?

  第一,这和留言是一样的!=退出或消息!= Exit 直接写在while之后没有区别;

  其次,我想让朋友们认识到,在现实项目中,只要有一个条件不满足,就可以直接设置active为False,程序就会直接停止运行,因为不同条件下的逻辑可能不一样,代码块自然也会不一样,不能把两个if判断条件写在一起。

  如果用户输入既不是‘退出’也不是‘退出’,程序将原样输出用户输入信息。

  1.4使用break退出循环。如果要立即退出while循环,可以使用break语句,而不是运行循环体中的其余代码,无论while后面的表达式是true还是false。

  比如我们写一个点菜程序,让用户输入TA想吃的菜。在这个程序中,我们可以使用break语句在用户输入 quit 后立即退出while循环:

  prompt= \ n请输入您想吃的菜的名称: prompt= \ n键入“退出”退出程序。While True:food=input(prompt)if food== quit :break else:print(我要吃饭,food)我们把True作为while的循环判断条件,所以这个程序理论上会一直运行下去(没有break语句)。

  这个程序一直要求用户输入他想吃的菜的名字,直到用户输入‘quit’,程序执行break语句退出循环。

  注意break语句的作用是跳出循环(循环的一层),在for循环的体中也适用。

  1.5在循环体中使用continue continue意味着继续。

  使用Python中的continue语句跳过当前循环体中的剩余语句,然后在下一个循环中使用继续

  注意:continue和break的区别在于前者跳出当前(当前)循环,后者跳出整个循环。它们可以用于while和for。

  举个栗子,我们来打印1到10的奇数。

  current _ number=0 while current _ number 10:current _ number=1 if current _ number % 2==0:continue print(current _ number)小伙伴们一定有其他方法可以打印奇数。在这里,他们主要是想利用loop,继续实现。

  首先,定义变量current_number,并赋予它一个初始值0。由于小于10,Python进入while循环。

  进入循环后,变量current_number在原数上加1。

  接下来,if语句检查current_number和2之间取模运算的结果(前文中提到,结果是0,表示偶数,不是0,表示奇数)。

  如果结果是0(偶数),执行continue语句,Python会忽略余下的代码,并返回到循环的开头。如果结果不是0(奇数),执行循环体中剩余的代码,Python将打印出这个数。

  1.6无限循环初学者经常把循环语句写成无限循环。

  例如,从1数到5:

  X=1while x=5: print(x) x=1程序的循环终止条件是x=5。循环体中每次x=1,循环体执行五次后不满足循环条件,程序肯定会正常终止。

  但是,对于我们初学者来说,省略代码行x=1是非常容易的,这导致了程序无休止的运行。

  #这个循环不会终止x=1while x=5: print(x)上面代码x的初始值是1,但是根本不会改变,所以while之后的循环条件总是成立,导致程序总是打印1。

  * *友情提醒:* *如果不小心写了一个无限循环程序(没人能保证不出错),可以按Ctrl C或者关闭显示程序输出的终端来终止程序。

  2.结语这段时间忙着报道,没太多时间更新。请原谅我。

  以上只介绍了while的基本用法,不涉及列表或词典的处理。喜欢看的可以扫码关注或者给我私信。下次见,再见。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: