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统计时会统计两种数组的总 ...
随机推荐
- java 使用Stack来判断Valid Parentheses
假如定义形如"{}[]()"或者"{[()]}"的模式为valid,"[{]"或者"(("的模式为invalid,那么我 ...
- ASP查询数据RS转换成COMMAND
RS版本: IF(troubleCatalog="1" or troubleCatalog="2" or troubleCatalog="3" ...
- oslo_config中的DuplicateOptError坑
前言: 最近在重写公司的Cinder Driver,我们driver是按照OpenStack的要求,依赖一个叫oslo_config的一个包.这个包的作用就是让driver申明所依赖的选项(可以来自文 ...
- Alamofire源码解读系列(六)之Task代理(TaskDelegate)
本篇介绍Task代理(TaskDelegate.swift) 前言 我相信可能有80%的同学使用AFNetworking或者Alamofire处理网络事件,并且这两个框架都提供了丰富的功能,我也相信很 ...
- 表达式计算 java 后缀表达式
题目: 问题描述 输入一个只包含加减乖除和括号的合法表达式,求表达式的值.其中除表示整除. 输入格式 输入一行,包含一个表达式. 输出格式 输出这个表达式的值. 样例输入 1-2+3*(4-5) 样例 ...
- Android四大组件详解
注:本文主要来自网易的一个博主的文章,经过阅读,总结,故留下文章在此 Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content P ...
- Selenium2 WebDriver环境搭建
1.下载Selenium Client Servers包 在Selenium官网上可以下载到最新的开源的包http://seleniumhq.org/download/,根据编写测试脚本所使用的语言下 ...
- java 学习 todoList
1.并发包的使用 2.线程相关的源码,怎么结束一个线程 3.单例模式代码 4.mixin 相关的理解代码 书单: effective java java 编程思想 spring 编程指南 深入理解jv ...
- iOS网络编程笔记——社交网络编程
社交网络编程主要使用iOS提供的social框架,目前social框架主要分为两个类: (1)SLComposeViewController提供撰写社交信息(如微博信息)的视图控制器,由iOS系统提供 ...
- HTML标签自定义属性
本文章转载至:http://www.cnblogs.com/luoyanli/archive/2012/10/17/2727886.html HTML标签可以自定义属性,但是我们要考虑其在IE.Fir ...