while循环语句的几种方式
我们知道,在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循环语句的几种方式的更多相关文章
- python中字典的循环遍历的两种方式
开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...
- T-SQL 循环表的一种方式
原文来自:https://www.lesg.cn/netdaima/sqlservert-sql/2016-463.html SsqlServer 中循环表有几种方式 1.临时表 2.游标 3-. 下 ...
- 循环语句第1种 LOOP ... END LOOP;
7)循环语句 --------第1种---------- LOOP ... END LOOP; declare n number(3) := 1; begin LOOP ...
- 浅谈Spring解决循环依赖的三种方式
引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错.下面说一下Spring是如果解决循环依赖的. 第一种: ...
- Spring 循环依赖的三种方式(三级缓存解决Set循环依赖问题)
本篇文章解决以下问题: [1] . Spring循环依赖指的是什么? [2] . Spring能解决哪种情况的循环依赖?不能解决哪种情况? [3] . Spring能解决的循环依赖原理(三级缓存) 一 ...
- [SQL分页语句的三种方式]
我们在开发的过程经常会用到数据分页,在网上也可以搜到大量的分页插件.这是在端上控制的;有的是在SQL语句实现分页,这是在数据源上 实现分页的; 今天,我就在总结一下我经常用到的SQL语句分页! 第一种 ...
- setTimeout循环传参数几种方式
for(var i=0;i<5;i++){ setTimeout(function(){ console.log(`错误 ${i}`); },0) } 这种错误的,参数不会变! 以下几种方式正确 ...
- Mybatis控制台打印SQL语句的两种方式
问题描述在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们.但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就 ...
- PHP数组循环遍历的四种方式
1.使用for循环遍历数组 conut($arr);用于统计数组元素的个数. for循环只能用于遍历,纯索引数组!!!! 如果存在关联数组,count统计时会统计两种数组的总 ...
随机推荐
- [BNUZOJ1261][ACM][2016北理校赛]方块消除(栈,字符串)
玩过方块消除游戏吗?现在规定当有两个或两个以上相邻且颜色相同的方块在一起的时候,它们就会产生消除反应.当存在多个消除反应同时产生时,最下的反应先执行.现在只给你其中一列,求最后剩下的方块结果. 输入要 ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化
在上一篇中,我们介绍了消息的顺序收发保证: Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证 在本文中我们主要介绍下复杂对象消息是否需要支持序列 ...
- Min Stack leetcode
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
- 道路修建 2(自创题+题解)(From NOI2011)
道路修建这道题想来各位不陌生(传送门在此——Bzoj2435),看了此题,一开始以为是最初各个点处于分散状态,然后做了一下,直到发现标程都有点问题,才发现原题是说本来各点已经处于连接完毕的状态(phi ...
- UI --UIView 及其子类
一 > UIView 1> iOS 概述: iOS 是 Apple 公司的移动操作系统,主要用于iPhone, iPad, iPad Mini , iPod Touch 等移动产品. 借 ...
- 使用js实现ajax的get请求步骤
(以下内容非原创,视频整合得来的) 1.创建XMLHttpRequest对象 2.浏览器与服务器建立连接 3.浏览器向服务器发送请求 4.服务器向浏览器响应请求 下面给出一个实例 1.创建一个test ...
- 内嵌Tomcat的Connector对象的静态代码块
在排查问题的过程中发现Connector对象有一个静态代码块: static { replacements.put("acceptCount", "backlog&quo ...
- QQGame防专线中断系统介绍
先说说背景 QQGame是一个全区全服的休闲类游戏平台和社区,主逻辑服务器部署在四大IDC,核心DB全部在深圳.对跨IDC的专线依赖度很高. 网平提供专线故障后切VPN的备份机制,当VPN也中断时QQ ...
- iOS开发之判断横竖屏切换
/** * 当屏幕即将旋转的时候调用 * * @param toInterfaceOrientation 旋转完毕后的最终方向 * @param duration 旋转动画所花费的时间 */ ...
- iOS开发之数据存储之Core Data
1.概述 Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite3数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,不需要 ...