Python 教程之控制流(8)在 Python 中使用带有 For 循环的 Else 条件语句

简介: Python 教程之控制流(8)在 Python 中使用带有 For 循环的 Else 条件语句

python中使用带有for循环的else条件语句

在大多数编程语言(C/C++、Java 等)中,else 语句的使用受到 if 条件语句的限制。但是 Python 也允许我们在 for 循环中使用 else 条件。

仅当循环未被 break 语句终止时,才执行 for/while 之后的 else 块。

Else 块在下面的 Python 3.x 程序中执行:

for i in range(1, 4):
  print(i)
else: # 执行,因为没有break
  print("No Break")

输出 :

1
2
3
No Break

Else 块不会在 Python 3.x 或更低版本中执行:

for i in range(1, 4):
  print(i)
  break
else: # 没有执行,因为有break
  print("No Break")

输出 :

1

仅当循环内存在 if 条件以某种方式依赖于循环变量时,这种类型的 else 才有用。

在下面的例子中,只有当数组中没有元素是偶数时才会执行else语句,即没有执行任何迭代的if语句。因此,对于数组 [1, 9, 8],if 在循环的第三次迭代中执行,因此在 for 循环之后出现的 else 将被忽略。在数组 [1, 3, 5] 的情况下,任何迭代都不会执行 if ,因此执行循环之后的 else 。

# Python 3.x 程序检查数组是否由偶数组成
def contains_even_number(l):
  for ele in l:
    if ele % 2 == 0:
      print ("list contains an even number")
      break
  # 仅当从不达到 break 并且在所有迭代后终止循环时才会执行此 else 。
  else: 
    print ("list does not contain an even number")
# 驱动程序代码
print ("For List 1:")
contains_even_number([1, 9, 8])
print (" \nFor List 2:")
contains_even_number([1, 3, 5])

输出:

For List 1:
list contains an even number
For List 2:
list does not contain an even number

作为练习,预测以下程序的输出。

count = 0
while (count < 1):  
  count = count+1
  print(count)
  break
else:
  print("No Break")


目录
相关文章
|
3天前
|
Python
SciPy 教程 之 Scipy 显著性检验 3
本教程介绍Scipy显著性检验,包括其基本概念、原理及应用。显著性检验用于判断样本与总体假设间的差异是否显著,是统计学中的重要工具。Scipy通过`scipy.stats`模块提供了相关功能,支持双边检验等方法。
10 1
|
5天前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 插值 2
SciPy插值教程:介绍插值概念及其在数值分析中的应用,特别是在处理数据缺失时的插补和平滑数据集。SciPy的`scipy.interpolate`模块提供了强大的插值功能,如一维插值和样条插值。通过`UnivariateSpline()`函数,可以轻松实现单变量插值,示例代码展示了如何对非线性点进行插值计算。
10 3
|
8天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 4
本教程介绍了SciPy的空间数据处理功能,主要通过scipy.spatial模块实现。内容涵盖空间数据的基本概念、距离矩阵的定义及其在生物信息学中的应用,以及如何计算欧几里得距离。示例代码展示了如何使用SciPy计算两点间的欧几里得距离。
22 5
|
7天前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 空间数据 6
本教程介绍了SciPy处理空间数据的方法,包括使用scipy.spatial模块进行点位置判断、最近点计算等内容。还详细讲解了距离矩阵的概念及其应用,如在生物信息学中表示蛋白质结构等。最后,通过实例演示了如何计算两点间的余弦距离。
17 3
|
6天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 7
本教程介绍了SciPy的空间数据处理功能,涵盖如何使用`scipy.spatial`模块进行点的位置判断、最近点计算等操作。还详细解释了距离矩阵的概念及其在生物信息学中的应用,以及汉明距离的定义和计算方法。示例代码展示了如何计算两个点之间的汉明距离。
13 1
|
4天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 插值 3
本教程介绍了SciPy中的插值方法,包括什么是插值及其在数据处理和机器学习中的应用。通过 `scipy.interpolate` 模块,特别是 `Rbf()` 函数,展示了如何实现径向基函数插值,以平滑数据集中的离散点。示例代码演示了如何使用 `Rbf()` 函数进行插值计算。
8 0
|
4天前
|
Python
SciPy 教程 之 Scipy 显著性检验 1
本教程介绍Scipy显著性检验,包括统计假设、零假设和备择假设等概念,以及如何使用scipy.stats模块进行显著性检验,以判断样本与总体假设间是否存在显著差异。
8 0
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!