我们知道,在Python中经常我们要使用循环,其中最常用的是while循环,while有很多结合方式,我们知道,如果一个循环没有结束语句那么就失去了意义,所以我们一定要有结束语句,下面来看看while经常用的几种方式:

    (一)、while...break语句

lucky_num = 19
while True:
input_num = int(input("Input the guess num: "))
if input_num == lucky_num:
  print("Bingo!")

  break
elif input_num > lucky_num:
  print("The real number is smaller.")
elif input_num < lucky_num:
  print("The real number is bigger...")

上述语句中,我们定义了一个lucky_num(幸运数字)让用户去猜测,记得数字一定要进行转换,如果用户输入对了,则使用break语句结束循环;如果用户一直输入不对,则一直让用户进行输入,这种情况起始也相当于一种死循环,除非用户输入正确才能够结束循环,否则就不会停止循环。下面我们来看看,不使用break语句进行退出的情况:

lucky_num = 19
input_num = -1

while input_num != lucky_num:
#当条件满足的时候结束循环
input_num = int(input("Input the guess num: "))

if input_num > lucky_num:
print("The real number is smaller.")
#测试条件,记得使用elif语句,如要盲目使用else语句,当我们知道条件的时候
elif input_num < lucky_num:
print("The real number is bigger...")

print("Bingo!")

我们可以定义while退出的状况,我们进行循环的条件是input_num != lucky_num,即当用户输入的数字和定义的数字不一样的时候进行循环,当条件满足的时候,退出while循环,这种方式是,我们首先给用户输入的值赋一个初始值,让循环能够进行下去,避免出现input_num没有定义的情况。

下面来定义让用户输入有限的次数:

lucky_num = 19
input_num = -1
guess_num = 0

while guess_num < 3:
#当条件满足的时候结束循环
input_num = int(input("Input the guess num: "))

if input_num > lucky_num:
print("The real number is smaller.")
#测试条件,记得使用elif语句,如要盲目使用else语句,当我们知道条件的时候
elif input_num < lucky_num:
print("The real number is bigger...")
elif input_num == lucky_num:
print("Bingo!")
break
guess_num += 1

else:
print("Too many retrys......")

while...break...else...语句,这种语句用于提示用户输入正确的时候退出循环,不执行,使用break语句退出,就不会执行else语句,如果不执行break语句,则必定会执行else语句;这种情况适用于,我们想让当条件满足的时候就退出循环的情况,当条件不满足的时候,我们提示用户退出循环的原因。

就是提示用户退出循环的方式,要知道,while...else...非正常退出的时候不执行else语句,当正常退出的时候必定执行else后面的语句。

while...else...语句中的else语句是在while循环执行完成之后进行执行,但是当while语句不是正常退出,而是强制(break)退出循环的,则不会执行else语句后面的代码。

while循环语句的几种方式的更多相关文章

  1. python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  2. T-SQL 循环表的一种方式

    原文来自:https://www.lesg.cn/netdaima/sqlservert-sql/2016-463.html SsqlServer 中循环表有几种方式 1.临时表 2.游标 3-. 下 ...

  3. 循环语句第1种 LOOP ... END LOOP;

     7)循环语句  --------第1种----------   LOOP ... END LOOP;    declare    n number(3) := 1;  begin    LOOP   ...

  4. 浅谈Spring解决循环依赖的三种方式

    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...

  5. Spring 循环依赖的三种方式(三级缓存解决Set循环依赖问题)

    本篇文章解决以下问题: [1] . Spring循环依赖指的是什么? [2] . Spring能解决哪种情况的循环依赖?不能解决哪种情况? [3] . Spring能解决的循环依赖原理(三级缓存) 一 ...

  6. [SQL分页语句的三种方式]

    我们在开发的过程经常会用到数据分页,在网上也可以搜到大量的分页插件.这是在端上控制的;有的是在SQL语句实现分页,这是在数据源上 实现分页的; 今天,我就在总结一下我经常用到的SQL语句分页! 第一种 ...

  7. setTimeout循环传参数几种方式

    for(var i=0;i<5;i++){ setTimeout(function(){ console.log(`错误 ${i}`); },0) } 这种错误的,参数不会变! 以下几种方式正确 ...

  8. Mybatis控制台打印SQL语句的两种方式

    问题描述在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就 ...

  9. PHP数组循环遍历的四种方式

     1.使用for循环遍历数组     conut($arr);用于统计数组元素的个数.     for循环只能用于遍历,纯索引数组!!!!     如果存在关联数组,count统计时会统计两种数组的总 ...

随机推荐

  1. AlloyTouch.js 源码 学习笔记及原理说明

    alloyTouch这个库其实可以做很多事的, 比较抽象, 需要我们用户好好的思考作者提供的实例属性和一些回调方法(touchStart, change, touchMove, pressMove, ...

  2. 前端资讯周报 3.6 - 3.12: 对学习Javascript最有帮助的三本书,以及HTML标题的迷思

    每周一我都会分享上一周我订阅的技术站点中,和解决问题的过程中阅读到的值得分享的文章. 毕竟个人的阅读量有限,也欢迎大家留言或者私信给我你们阅读到的,对你们前端技术有帮助的任何内容,题材不限,语言不限. ...

  3. js实现ajax的post请求步骤

    post请求步骤与前篇的get请求步骤差别不大,只是增加了 xhr.setRequestHeader("Content-type","application/x-www- ...

  4. Archlinux 的U盘自动装载(三)udevil

    U盘的自动装载方法,目前我已经使用过以下几种方法: udev 规则 基于 udev 规则的 Shell script udisks 以及 udisks2 结果,总是存在这样那样的小问题.例如,文件名乱 ...

  5. (6)简单说说java中的线程

    先甩出来两种创建线程的方法: private static int count = 100; public static void main(String[] args) { // 用继承Thread ...

  6. ICC_lab总结——ICC_lab3:布局

    PS:字丑,禁止转载. 做到了ICC workshop的第三个实验,理论与实践相结合,于是,先放一张总结图,这张总结图来自前面的博客,放在这里用来体现理论和实践的联系: 这个就是布局的理论部分,在IC ...

  7. python的tkinter版本不匹配问题:RuntimeError: test:tk.h version (8.4) doesn't match libtk.a version (8.5)

    Traceback (most recent call last): File "/root/CodeWorkPace/test/TCPClient.py", line 20, i ...

  8. POP3是收邮件的协议,SMTP是发邮件的协议,IMAP是一种邮箱通信协议。

    我也是第一次接触这种服务,是因为我自己在做一个小小的自动推送天气情况到自己邮箱.所以才碰到这个的/ 看一下标题,我们可以先这样理解. POP3(Post Office Protocol - Versi ...

  9. Python中的内置函数__init__()的理解

    有点意思,本来我是学习java的.总所周知,java也有构造函数,而python在面向对象的概念中,也有构造函数.它就是 __init__(self) 方法. 其实类似于__init__()这种方法, ...

  10. 使用github+hexo搭建博客笔记

    听说github上可以搭博客,而且不用自己提供空间和维护,哈哈哈 作为一名程序猿,github搭博客对我有种神奇的吸引力,赶紧动手试一试 关于如何使用hexo搭建博客网上好的教程多如牛毛,而且这篇博客 ...