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

 更新时间:2020年07月06日 15:40:10   作者:abraham_ly  
这篇文章主要介绍了python else语句在循环中的运用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在学习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设计模式之工厂模式简单示例

    这篇文章主要介绍了Python设计模式之工厂模式,简单说明了工厂模式的原理,并结合实例形式给出了Python实现工厂模式的具体操作技巧,需要的朋友可以参考下
    2018-01-01
  • 使用Pycharm创建一个Django项目的超详细图文教程

    使用Pycharm创建一个Django项目的超详细图文教程

    Django是比较经典的Python web框架,最近刚好在项目中用到了Django,所以下面这篇文章主要给大家介绍了关于使用Pycharm创建一个Django项目的超详细图文教程,文中介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 在Python中处理列表之reverse()方法的使用教程

    在Python中处理列表之reverse()方法的使用教程

    这篇文章主要介绍了在Python中处理列表之reverse()方法的使用教程,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python中的def __init__( )函数

    Python中的def __init__( )函数

    这篇文章主要介绍了Python中的def __init__( )函数,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • 详细解读Python中解析XML数据的方法

    详细解读Python中解析XML数据的方法

    这篇文章主要介绍了Python中解析XML数据的方法,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-10-10
  • python安装whl包并解决依赖关系的实现

    python安装whl包并解决依赖关系的实现

    本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Python标准库datetime之datetime模块用法分析详解

    Python标准库datetime之datetime模块用法分析详解

    这篇文章主要介绍了Python标准库datetime之datetime模块用法分析详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 详解python中的index函数用法

    详解python中的index函数用法

    这篇文章主要介绍了详解python中的index函数用法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Flask 入门Web 微框架Hello Flask

    Flask 入门Web 微框架Hello Flask

    这篇文章主要介绍了 Flask 入门Web 微框架Hello Flask,Flask 是一个 Python 实现的 Web 微框架,之所以称之为微框架,是因为 Flask 核心简单且易于扩展,有两个主要依赖,WSGI工具集:Werkzeug和模板引擎:Jinja2,Flask 只保留了 Web 开发的核心功能,需要的朋友可以参考一下
    2021-11-11
  • Python中动态创建类实例的方法

    Python中动态创建类实例的方法

    在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢?其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块
    2017-03-03

最新评论