python else语句在循环中的运用详解


Posted in Python onJuly 06, 2020

在学习python循环语句的时候,发现else竟然可以和循环语句使用,但是它却与if中else语句的运行完全不同,有时候你真的感觉掉进这个else陷阱里了,完全不知道该怎么用,那么现在咱们一起去看看吧

一、循环_else示例

1、while_else的运用

# 定义外循环计数器
i = 1
# 循环1-10每个数字
while i <= 10:
  # 定义内循环计数器
  j = 1
  # 循环1-5每个数字,或者说循环5次
  while j <= 5:
    # 判断1-10之间的数/2是否有余数
    if i % 2 == 0:
      # 没有余数那么就跳出内循环,继续外循环
      break
    # 修改内循环计数器
    j += 1
  # 当循环正常结束的时候执行else
  else:
    print("小于")
  i += 1

输出结果:
小于
小于
小于
小于
小于

(1)分析:为什么会输出5个小于?

​1、首先,要知道的是,break距离哪个循环最近,那么就作用于哪个循环,上边的是在内循环中,那么就作用于内循环。其次,内循环在外循环中,那么内循环对于外循环来说就是一条语句。python语言尤其注意于代码格式,将外循环中将内循环看作未一条语句,那么问题就非常简单了。

2、其次else与那个循环对齐,那么这个else就属于那个循环,当这个循环正常结束后就会执行else中的语句,否则遇到break就会提前跳出循环,那么就将无法执行else中的语句

​3、看代码,外循环要循环10次,内循环要循环5次,也就就是说外循环1次,内循环就要循环5次。在内循环中有一个条件,当 i % 2 == 0,那么就跳出循环,1-10之间能被2整除的就是偶数字,那么当i=2,4,6,8,10这5种情况的时候,就会跳出内循环,此刻else是不会执行,那么执行的5次else是i=奇数的时候,条件不成立,所以会正常结束内循环,最后执行else中的语句。那么就也是说当while循环正常结束的时候才会执行else语句,若被break则将无法执行

(2)分析:将内循环计数器改为j = 6为什么会输出10个小于?

由于内循环条件不成立,无法进入循环体,也就无法循环,所以将无条件执行else中的语句,那么也就是说当条件不成立时,就会无条件执行else中的语句

2、if_else的运用

# 循环10次,拿到1-10之间的数字
for i in range(1,11):
  # 循环5次,拿到1-5之间的数字
  for j in range(1,6):
    # 判断 i的值是否能被2整除
    if i % 2 == 0:
      # 如果是,则跳出内循环
      break
  # 当循环正常结束则执行else语句
  else:
    print("大于")

输出结果:
大于
大于
大于
大于
大于

(1)分析:为什么会输出5个大于?

首先要知道,不管是while循环还是for循环,使用else都是一样的道理,当循环正常结束才会执行else,否则将不会执行else语句。

外循环循环10次,内循环5次,外循环1次,内循环5次。当内循环条件成立执行break,将跳出内循环执行外循环,当条件不成立就相当于没有这个条件,而直接执行else语句。那么也就是说,当循环遇到break就会跳出循环而不执行else,若未遇到则表明循环正常结束,要去执行else语句。

for i in range(1,11):
  for j in range(1,1):
    if i % 2 == 0:
      break
  else:
    print("大于")

(2)分析:为什么会输出10个大于?

同的道理,由于range(1,1)表明没有循环次数,那么for循环就无法执行,所以会去执行else语句。也就是说,当循环未能执行的时候,则会去执行else语句。

3、while循环与for循环的适用场景?

while循环 当对循环次数未知的时候,使用while循环再合适不过。当然也可以应用于循环次数已知的情况,但是有时会使代码量增多
for循环 当对循环次数已知的情况下使用for循环,并且在迭代列表、元组、字符串和字典的时候for循环显得及其优美,也可以说for循环是为迭代元素量身定制的

二、总结

不管是while循环也好还是for循环也好,当与else一起使用的时候都是一样的道理。当循环正常结束的时候,就会去执行else语句,若碰到break而提前结束,将不会执行else;当循环未能执行的时候,会自动执行else语句

到此这篇关于python else语句在循环中的运用详解的文章就介绍到这了,更多相关python else循环运用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木! 

Python 相关文章推荐
Python和Java进行DES加密和解密的实例
Jan 09 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 Python
python实战教程之自动扫雷
Jul 13 Python
python3的print()函数的用法图文讲解
Jul 16 Python
python如何保证输入键入数字的方法
Aug 23 Python
Python使用指定字符长度切分数据示例
Dec 05 Python
Python中Subprocess的不同函数解析
Dec 10 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
Python如何执行精确的浮点数运算
Jul 31 Python
Django 实现jwt认证的示例
Apr 30 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
Jun 13 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
Nov 11 Python
Keras模型转成tensorflow的.pb操作
Jul 06 #Python
python如何进入交互模式
Jul 06 #Python
python3.4中清屏的处理方法
Jul 06 #Python
Python3基于print打印带颜色字符串
Jul 06 #Python
python判断是空的实例分享
Jul 06 #Python
python三引号如何输入
Jul 06 #Python
如何验证python安装成功
Jul 06 #Python
You might like
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
python读写二进制文件的方法
2015/05/09 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
上学路上观后感
2015/06/16 职场文书
听证会主持词
2015/07/03 职场文书
车辆管理制度范本
2015/08/05 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
golang json数组拼接的实例
2021/04/28 Golang
如何利用React实现图片识别App
2022/02/18 Javascript