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循环运用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python for循环搭配else常见问题解决

    这篇文章主要介绍了Python for循环搭配else常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 假设有如下代码: for i in range(10): if i == 5: print 'found it! i = %s' % i else: print 'not found it ...' 你期望的结果是,当找到5时打印出 found it! i = 5 实际上打印出来的结果为: found it! i = 5 not f

  • python使用for...else跳出双层嵌套循环的方法实例

    背景 周末在写一个爬虫时,遇到这样一种场景:从搜索结果中下载指定数量的文件 例如:搜索结果中共分为10页展示,加起来一共50条数据,现在要做的是从50条数据中下载指定数量的数据 为了实现这个功能,开始我是这样想的: 1.依次遍历10页数据,并且把每页的数据都追加到同一个列表中,这样的话,请求完10页数据后,这个列表中就包含了所有结果: 2.然后再从这个大列表中提取指定数量的数据进行下载即可 这种方法确实可行,但是在运行过程中发现一个问题:程序运行速度太慢了,原因是无论你想下载多少条数据,都会先把

  • 在Python的while循环中使用else以及循环嵌套的用法

    循环使用 else 语句 在 python 中,for - else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while - else 也是一样. #!/usr/bin/python count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count,

  • Python的for和break循环结构中使用else语句的技巧

    在Python中的while或者for循环之后还可以有else子句,作用是for循环中if条件一直不满足,则最后就执行else语句. for i in range(5): if i == 1: print 'in for' else: print 'in else' print 'after for-loop' # in for # in else # after for-loop 但我们发现if条件在循环的过程中成立了,最终还是执行了else语句里的内容,这是为什么呢? 好的,我们这时看下面这

  • Python中在for循环中嵌套使用if和else语句的技巧

    for...[if]...构建List (List comprehension) 1.简单的for...[if]...语句 Python中,for...[if]...语句一种简洁的构建List的方法,从for给定的List中选择出满足if条件的元素组成新的List,其中if是可以省略的.下面举几个简单的例子进行说明. >>> a=[12, 3, 4, 6, 7, 13, 21] >>> newList = [x for x in a] >>> newL

  • 在Python的循环体中使用else语句的方法

    本文讨论Python的for-else和while-else语法,这是Python中最不常用.最为误解的语法特性之一. Python中的for.while循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行.换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行.也就是在循环体内没有break语句.没有return语句,或者没有异常出现.考虑一个简单的(无用的)例子: >>> for i in range(5): ..

  • Python while循环使用else语句代码实例

    这篇文章主要介绍了Python while循环使用else语句代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python while 循环中使用 else 语句: else:表示 while 中的语句正常执行完,然后执行 else 语句的部分. 示例: # while 判断条件: # 一行语句 或 多行语句组 # else: # 一行语句 或 多行语句组 # ''' 程序: a = 4 while a < 6: print(a) a

  • Python循环中else,break和continue的用法实例详解

    本文实例讲述了Python循环中else,break和continue的用法.分享给大家供大家参考,具体如下: 在看Python的文档的时候看到了for和while语句和C语言中有一个最大的区别-可以有一个可选的else语句.这个语句的执行触发机制让我不大明白,通过代码测试才了解了什么情况下触发else语句."凡存在,皆合理",Python的设计者肯定是有他的目的,现在咱们来探究一番. 以for语句为例,开发环境Python3.4. Python循环中的else作用 循环中else的存

  • Python循环语句中else的用法总结

    前言 本文讨论Python的for-else和while-else等语法,这些是Python中最不常用.最为误解的语法特性之一. Python中的for.while等循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行.换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行.也就是在循环体内没有break语句.没有return语句,或者没有异常出现. 下面我们来看看详细的使用实例. 一. 常规的 if else 用法 x =

  • 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

  • python空元组在all中返回结果详解

    我们可以把需要判断的对象放在程序中,那么执行出来会有两个结果,要么是真,要么为假.我们今天所要讲的all函数就是用来判断参数的程序,根据输入参数的不同,输出True或者False的结果.下面我们就all函数进行说明.语法等方面的了解, 然后通过实例探讨空元组的返回值结果. 1.说明: 接受一个可迭代器对象为参数,当参数为空或者不为可迭代器对象是报错 >>> all(2) #传入数值报错 Traceback (most recent call last): File "<p

  • Python for循环中的陷阱详解

    前言 Python 中的 for 循环和其他语言中的 for 循环工作方式是不一样的,今天就带你深入了解 Python 的 for 循环,看看它是如何工作的,以及它为什么按照这种方式工作. 循环中的陷阱 我们先来看一下 Python 循环中的「陷阱」,在我们了解了循环的工作方式后,再来看下这些陷阱到底是怎么出现的. 陷阱 1:循环两次 现在我们先假设有一个数字组成的列表,和一个用于返回这些数字的平方的生成器: >>> nums = [1, 2, 3, 4] >>> sq

  • python如何调用php文件中的函数详解

    前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1.操作系统:macos10.13.2 2.php版本:PHP 7.1.7(mac自带) 3.python版本:python3.6.0 4.python库:subprocess 调用php函数 php命令行调用php文件中的函数 php文件:test_hello.php <?php function h

  • Python分支语句与循环语句应用实例分析

    本文实例讲述了Python分支语句与循环语句应用.分享给大家供大家参考,具体如下: 一.分支语句 1.if else语句 语法: if 条件判断: 执行的语句块1 else : 执行语句块2 当满足条件的时候则执行语句块1 ,不满足条件就执行语句块2 注意:1.条件判断后面要加冒号":": 2.执行语句块需要缩进[4个空格]. else 与 if对齐,else后面要加":",语句块缩进4个空格 ''' 从控制台输入年龄,如果年龄小于18岁,打印"未成年人禁

  • 对Python中的条件判断、循环以及循环的终止方法详解

    条件判断 条件语句是用来判断给定条件是否满足,并根据判断所得结果从而决定所要执行的操作,通常的逻辑思路如下图: 单次判断 形式 if <判断条件>: <执行> else: <执行> 例子 age = int(input("输入你的年龄:")) if age < 18: print("未成年") else: print("已成年") 多次判断 形式 if <判断条件1>: <执行1>

  • Python条件语句与循环语句

    目录 1.条件语句 1.1 if语句 2.嵌套的分支语句 3.案例练习 4.循环语句 4.1 for-in循环 4.2 range()函数 4.3 实例1:计算1-100的和 4.4 实例2:计算1-100偶数的和 4.5 实例3:计算1-100奇数的和 5.while循环 6.break 和 continue 语句 6.1 实例:猜字游戏 7.循环嵌套 7.1 实例1:通过for...in语句打印99乘法表 7.2 实例2:通过while语句打印99乘法表 1.条件语句 所谓的条件语句,就是通

  • 详解Python如何在多层循环中使用break/continue

    关于break/continue这两个关键字在平常的使用过程中一直比较迷糊.好不容易理解了吧,过段时间不使用好像忘记了什么.这个问题也是很多初学者比较容易提及的问题. 先通过一个简单的单层循环来了解一下这两个关键字的使用. print('=============单层循环使用=============') for n in range(10): if n == 9: print('退出当前循环,当前n = ', n) break elif n == 4: print('跳过当前循环,当前n =

  • Python基础之python循环控制语句break/continue详解

    Python中提供了两个关键字用来控制循环语句,分别是break和continue break在条件成立时,不会执行循环中的后续代码,并且会停止整个循环 continue在条件成立时,会不执行循环中的后续代码,并且会停止本次循环 接下来我们通过两个案例来区分这两个控制语句 首先使用while循环语句打印1到5之间的数字,循环到3的时候,我们使用continue关键字跳出3的这次循环,需要注意的是,continue在条件成立时,不会执行后续代码,如果在continue关键字前,没有改变循环的条件,

  • 对Python 2.7 pandas 中的read_excel详解

    导入pandas模块: import pandas as pd 使用import读入pandas模块,并且为了方便使用其缩写pd指代. 读入待处理的excel文件: df = pd.read_excel('log.xls') 通过使用read_excel函数读入excel文件,后面需要替换成excel文件所在的路径.读入之后变为pandas的DataFrame对象.DataFrame是一个面向列(column-oriented)的二维表结构,且含有列表和行标,对excel文件的操作就转换为对Da

随机推荐