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")

如果你发现本文有什么问题,欢迎在评论区指正。最后,不要忘了❤或📑支持一下哦,你的支持是海海更新的动力!关注我后面会持续分享面试经验 & 前端相关的专业知识。


目录
相关文章
|
Shell Android开发 开发者
adb简介及常用命令总结
adb(Android Debug Bridge),安卓平台调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、操作模拟器和设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令等。 简单总结主要功能有: 1、运行设备的shell(命令行) 2、管理模拟器 3、计算机和设备之间上传/下载文件 4、将本地apk软件安装至模拟器或android设备
2161 0
扫描工具 -- Nuclei
扫描工具 -- Nuclei
1615 0
扫描工具 -- Nuclei
|
7月前
|
人工智能 算法 安全
MCP提示词工程:上下文注入的艺术与科学
作为一名深耕AI技术领域多年的技术博主摘星,我深刻认识到提示词工程(Prompt Engineering)在现代AI系统中的核心地位,特别是在Model Context Protocol(MCP)框架下,提示词工程已经演进为一门融合艺术直觉与科学严谨的综合性学科。在我多年的实践经验中,我发现MCP不仅仅是一个简单的协议标准,更是一个革命性的上下文管理平台,它通过精密的提示词机制和动态上下文注入技术,彻底改变了AI系统与外部资源的交互方式。本文将深入探讨MCP中提示词的作用机制,从底层协议设计到高层应用策略,全面剖析动态提示词生成与模板化的技术实现,详细阐述上下文长度优化与截断策略的核心算法,并
532 0
MCP提示词工程:上下文注入的艺术与科学
|
8月前
|
缓存 JavaScript IDE
鸿蒙开发:基于最新API,如何实现组件化运行
手动只是让大家了解切换的原理,在实际开发中,可不推荐手动,下篇文章,我们将通过脚本或者插件,快速实现组件化模块之间的切换,实现独立运行,敬请期待!
224 0
鸿蒙开发:基于最新API,如何实现组件化运行
|
6月前
|
存储 IDE 开发工具
错误代码0xc000000e解决办法?
以下是解决错误代码0xc000000e的几种有效方法: 检查硬件连接‌
|
存储 Oracle 关系型数据库
|
11月前
|
机器学习/深度学习 人工智能 前端开发
23招教你掌握大模型提示词技巧
当模型越来越懂人话,我们还需要学习提示语(Prompt)吗?本文总结了23招向AI提问的好方式。
23招教你掌握大模型提示词技巧
|
Web App开发 JavaScript 前端开发
NodeJS简介
Node.js是一个基于Chrome V8引擎的开源、跨平台JavaScript运行环境,适用于服务器端编程,以事件驱动、非阻塞I/O模型提高性能,广泛应用于Web服务API、实时游戏和后端开发。
933 7
|
存储 安全 搜索推荐
HTTPS协议深度解析
【7月更文挑战第12天】HTTPS协议通过加密通信和身份验证机制,为数据传输提供了强有力的安全保障。在现代互联网环境中,HTTPS已成为保障网站和用户数据安全的重要手段。了解HTTPS的工作原理和安全性特性,有助于更好地应用和维护HTTPS,提升网络安全水平。
1585 5