I've noticed the following code is legal in Python. My question is why? Is there a specific reason?

n = 5

while n != 0:

print n

n -= 1

else:

print "what the..."

解决方案

The else clause is only executed when your while condition becomes false. If you break out of the loop, or if an exception is raised, it won't be executed.

One way to think about it is as an if/else construct with respect to the condition:

if condition:

handle_true()

else:

handle_false()

is analogous to the looping construct:

while condition:

handle_true()

else:

# condition is false now, handle and go on with the rest of the program

handle_false()

An example might be along the lines of:

while value < threshold:

if not process_acceptable_value(value):

# something went wrong, exit the loop; don't pass go, don't collect 200

break

value = update(value)

else:

# value >= threshold; pass go, collect 200

handle_threshold_reached()

pythonwhileelse,关于Python while语句的Else子句相关推荐

  1. [Python]循环语句中的 else 子句

    [Python]循环语句中的 else 子句 有其它编程语言经验的程序员接触到 Python 时最讶异的莫过于无所不在的 else,不仅分枝语句有,而且循环语句也有,甚至连异常处理也有.但现在我们来看 ...

  2. python入门语句_Python 快速入门笔记(5):语句

    本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正.转载请注明出处: https://www.cnblogs.com/itwhite/p/12297769.html. 简介 p ...

  3. Lesson 021 —— python 循环语句

    Lesson 021 -- python 循环语句 Python中的循环语句有 for 和 while. 循环可以使用 break 语句跳出当前循环. Python循环语句的控制结构图如下所示: wh ...

  4. python中if控制语句_了解Python控制流语句——if语句

    控制流 截止到现在,在我们所看过的程序中,总是有一系列语句从上到下精确排列,并交由 Python 忠实地执行.如果你想改变这一工作流程,应该怎么做?就像这样的情况:你需要程序作出一些决定,并依据不同的 ...

  5. python选择语句是什么语句_Python语言中的三种选择语句

    本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句.对于每种语句,我们都提供了相应的流程图.与此同时,我们给出许多简单的示例程序,以帮助读者加深 ...

  6. Python简单语句

    Python简单语句 Python语句由关键字.标识符.表达式组成.语句的根本作用就是执行某些修改操作,让代码发挥作用去做某些事. 语句从执行结构上来分有顺序.条件.循环结构,这3种结构可以实现任何算 ...

  7. 超详细的 Python 基础语句总结

    目录 一.运算符 1.1 + --两个对象相加 1.2 - --得到负数或是一个数减去另一个数 1.3 * --两个数相乘或是返回一个被重复若干次的字符串.列表.元组 1.4 / --两个数相除 1. ...

  8. 忘了python关键语句?这份备忘录拯救你的记忆

    忘了Python关键语句?这份备忘录拯救你的记忆 今天要介绍的 Python 3 Cheat Sheet 由法国国家科学研究中心(CNRS)的法国机械工程与信息技术实验室(LIMSI)的工程师 Lau ...

  9. 包教包会!7段代码带你玩转Python条件语句(附代码)

    来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...

  10. python“ with”语句的用途是什么?

    今天,我第一次碰到了Python with语句. 我已经使用Python几个月了,甚至都不知道它的存在! 考虑到它的地位有些晦涩,我认为值得一问: Python with语句旨在用于什么? 你用它来做 ...

最新文章

  1. 不会MySQL索引,面试官让回家等通知!
  2. Maven报错解决:Element 'dependency' cannot have character [children], because the type's content type is
  3. 开发日记-20190601 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  4. bash history 命令记录日志 实时发送到syslog server
  5. Qt学习(三):事件、定时器、事件过滤器
  6. 需求管理工具比较 Doors_Requistie Pro_RDM
  7. linux 动态执行cp,Linux常用命令之cp、mv、rm、cat、more、head、tail、ln命令讲解
  8. 弹性式分布数据集RDD——Pyspark基础 (二)
  9. (转)浏览器兼容的JS写法总结
  10. js如何上传大文件到服务器,js将文件上传到远程服务器
  11. 《Spring Recipes》第二章笔记:Customizing Bean Initiali...
  12. 第12期《啊哈算法 PDF版本》
  13. IOI2020国家集训队作业乱做
  14. 【人工智能】2.博弈问题、博弈搜索策略
  15. 网络原理考点之无线网络应用层协议
  16. 五彩缤纷建网页(4)背景与字体的搭配经验
  17. 【 源代码 】 用Devc++编写的一个万年历小应用(附带音乐)
  18. argc,argv,argv[0]用法详解
  19. gcc: buildin函数: __builtin_unreachable __builtin_constant_p;__atomic_load_n
  20. 教育期刊《语文教学通讯》杂志简介及投稿须知

热门文章

  1. kafka应用场景_从未如此简单:10分钟带你逆袭Kafka!
  2. python程序设计第二版课后答案江红_Python核心编程第二版 第十三章课后答案
  3. C语言的全局变量和局部变量的作用域
  4. html合并单元格_HTML基础2
  5. js打印插件_使用 Nodejs 开发一个 commitlint-release 插件
  6. 广西小学计算机教案上册,广西三年级信息技术教案
  7. c++ 银行管理系统
  8. 射极跟随器实验报告数据处理_电压跟随器秘笈:运放构成电压跟随器的稳定性问题探讨...
  9. python math数学模块
  10. 线接触和面接触的区别_接触器是啥?跟继电器有啥区别,6大常见故障怎么处理...