Python中else语句块(和if、while、for、try搭配使用)
学过C/C++的都知道,else语句是和if语句搭配使用的,
但是在Python中,else语句更像是作为一个模块,不仅仅可以和if语句搭配,还可以和循环语句,异常处理语句搭配使用。下面逐个进行介绍:
<1> if 语句
条件表达式为真的时候,执行代码块1,否则执行代码块2. (其实就是一个二选一的问题,必然有一个执行)

Python中if...else...的扩展模式:多个if条件判断,如下图所示:整个代码块的执行,是顺着某些箭头方向走到结束(图中的黑点)。
这里需要注意的是,表达式1,2,3是有优先级的,优先级由高到低。所以对于某些应用,把出现概率高的条件判断放在前面判断,效率会比较高。
比如:班级的成绩分布80~60区间的人数概率较高,如果要给班级同学成绩分ABCD等级,应该把概率高的区间先判断。

<2>while ,for 循环语句
|
Python中的循环语句(无论是while 还是for)中,经常配合continue和break语句,两者的区别这里不做介绍。另外还可以和else语句块搭配,当循环(while/for循环语句冒号后面的语句块)正常结束的时候才会执行一遍else语句块;如果是非正常结束的(例如break语句跳出,出现异常等情况),则不会执行else语句块。 就像右边的程序流程图,整个代码块结束的路径有两个(有两个箭头指向黑色圆点),因为异常或break导致结束的话,是不会执行else语句块的,代码执行结束;while循环过程中没有出现异常或者break跳出,那么因为表达式为假的时候,是正常退出while,这时候会执行else语句块 |
![]() |
#求最大公约数
def get_max_factor(arg):
cnt = arg/2
while cnt > 1:
if arg%cnt == 0:
print "Max factor of %s is %s"%(arg,cnt)
break
cnt -= 1
else:
print "%s is prime."%arg
if __name__ == "__main__":
for i in range(10,20):
get_max_factor(i) ##########结果############
Max factor of 10 is 5
11 is prime.
Max factor of 12 is 6
13 is prime.
Max factor of 14 is 7
Max factor of 15 is 5
Max factor of 16 is 8
17 is prime.
Max factor of 18 is 9
19 is prime.
以上代码,当循环正常退出,即arg不会被2~arg/2间的任意整数整除的时候,才会执行else语句块。这也说明了arg是一个素数。
<3>try:....esle:.....
有待更新.....
参考来源:http://www.2cto.com/kf/201106/92691.html
Python中else语句块(和if、while、for、try搭配使用)的更多相关文章
- 简单探讨python中的语句和语法
python程序结构 python"一切皆对象",这是接触python听到最多的总结了.在python中最基层的单位应该就是对象了,对象需要靠表达式建立处理,而表达式往往存在于语句 ...
- Python 中的语句
上一节已经了解到了Python中的基本数据类型和一些基本的操作,本节就大致讲一下关于Python中的语句的相关问题. 我们熟悉的print()语句可能是这样的.print('YJK923') or p ...
- python中with语句的使用
引言 with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用) ...
- python中if语句和循环语句
//2019.12.05 python循环控制结构(一)控制循环结构 1-1 程序的判断语句与组合1.对于python的控制结构主要有以下三大类:(1)分支结构(2)循环结构(3)异常处理 2.pyt ...
- 转 java中static{}语句块详解
原文地址:http://blog.csdn.net/lubiaopan/article/details/4802430 感谢原作者! static{}(即static块),会在类被加载的时候执 ...
- java中static{}语句块详解
static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用. 一.在程序的一次执行过程中,stati ...
- python中IF语句容易犯的错误CASE
python中没有switch case类似的语句,但是下面的IF语句却与之类似,却又不同: A = B = C = D = E = 1 if A == 1: B=2 elif B ==2: C= ...
- java中 在一个异常处理中什么语句块是可多个的
MM们 异常处理一般格式:捕获异常:try{//代码块}catch(异常类型,例如:Exception e){//需要抛出的异常,例如:e.printStackTrace();}catch(异常类型) ...
- 【问题解决方案】关于Python中的语句 ' %matplotlib inline '
跟进小项目#GirlsInAI#-可视化时遇到的语句,之前没有遇到过 在Stack Overflow上看到了一个解释: IPython有一组预定义的"魔术函数",您可以使用命令行样 ...
随机推荐
- 【HDOJ】1243 反恐训练营
LCS. /* 1243 */ #include <cstdio> #include <cstring> #include <cstdlib> #define MA ...
- 主席树套树状数组 动态区间第k小
先打上代码以后更新解释 #include <cstdio> #include <iostream> #include <algorithm> #include &l ...
- 【转】Android中的内存管理--不错不错,避免使用枚举类型
原文网址:http://android-performance.com/android/2014/02/17/android-manage-memory.html 本文内容翻译自:http://dev ...
- Delphi——Window 消息 - 转载▼
Delphi是Borland公司的一种面向对象的可视化软件开发工具. Delphi集中了Visual C++和Visual Basic两者的优点:容易上手.功能强大,特别是在界面设计.数据库编程.网络 ...
- convex optimization
##凸优化总结所有这些想法基本是来自于书籍[convex optimization](http://book.douban.com/subject/1888111/),主要包括凸优化的基本理论,主要的 ...
- C# 实现3Des加密 解密
3Des对每个数据块进行了三次的DES加密算法,是DES的一个更安全的变形.比起最初的DES,3DES更为安全. 都是感觉一目了然的摘过来. 下面是加密解密的源码.ECB模式的. public cla ...
- mysql语法充电
1.关键字delimiter 的作用 ①delimiter叫做“定界符” ,经常可以在复合sql语句或者存储过程等语句中看到 DELIMITER $$ 的内容, ②DELIMITER $$的意义是告 ...
- 关于C#泛型列表List<T>的基本用法总结
//示例代码如下:using System;using System.Collections.Generic;using System.Collections.ObjectModel;namespac ...
- Apache服务器 配置多个网站解决方案
2016.5.28 今周六 下午 阴 无风 周末接了个小单,弄一个企业站,用php语言:于是又要拿起好久没动的php啦! 关键第一步是搭建Apache环境,在这里本人用的是wamp ...
- Unity3D基础学习 加载场景时隐藏物体,点击显示时显示物体
隐藏物体有两种方法,一是设置Meshrender为False,即不渲染物体. 二是设置物体为False,禁用物体,我使用的第二种. 当场景中需要隐藏的物体很多时,我们可以添加一个层来表示需要隐藏的物体 ...
