课时34:丰富的else语句以及简洁的with语句
目录:
一、丰富的else语句
二、简洁的with语句
三、课时34课后习题及答案
***********************
一、丰富的else语句
***********************
1、要么怎样,要么不怎样
典型的if-else搭配:
if条件:
条件为真执行
else:
条件为假执行
2、干完了能怎样,干不完就别想怎样
else语句可以跟for和while循环语句配合使用,但是else语句块只再循环完成后执行,也就是说,如果循环中间使用break语句跳出循环,那么else里边的内容就不会执行了。举个例子:
def showMaxFactor(num):
count = num // 2
while count > 1:
if num % count == 0:
print('%d最大的约数是%d' % (num, count))
break
count -= 1
else:
print('%d是素数!' % num) num = int(input('请输入一个数:'))
showMaxFactor(num)
这个小程序主要是要求用户输入的数的最大约数,如果是素数的话就顺便提醒一下”这是一个素数“。注意要使用地板除法(count = num // 2)哦,否则结果会出错。使用暴力的方法一个一个尝试(num % count == 0),如果符合条件则打印最大的约数,并break,同时不会执行else语句块的内容了。如果一直没遇到合适的条件,则会执行else语句块内容。
for语句的用法和while一样,这里就不重复举例了。
3、没有问题,那就干吧
else语句还能跟刚刚学的异常处理进行搭配,实现跟与循环语句搭配差不多:只要try语句块里没有出现任何异常,那么就会执行else语句块里的内容了。举个例子:
try:
int("abc")
except ValueError as reason:
print("出错啦" + str(reason))
else:
print("没有任何异常")
***********************
二、简洁的with语句
***********************
也许会觉得打开文件又要关闭文件,还要关注异常处理有些烦人,所以Python提供了一个with语句,利用这个语句抽象除文件操作中频繁使用的try/except/finally相关的细节。对文件操作使用with语句,将大大减少代码量,而且你再也不用担心出现文件打开了忘记关闭的问题了(with会自动帮你关闭文件)。举个例子:
try:
f = open("data.txt","x")
for each_line in f:
print(each_line)
except OSError as reason:
print("出错啦" + str(reason))
finally:
f.close()
使用with语句,可以改成这样:
try:
with open("data.txt","x") as f:
for each_line in f:
print(each_line)
except OSError as reason:
print("出错啦" + str(reason))
是不是很方便呢?有了with语句后,就再也不用担心忘记关闭文件了。
*******************************
三、课时34课后习题及答案
*******************************














课时34:丰富的else语句以及简洁的with语句的更多相关文章
- 丰富的else语句及简洁的with语句 - 零基础入门学习Python034
丰富的else语句及简洁的with语句 让编程改变世界 Change the world by program 丰富的else语句 有鱼油可能会说,else语句还有啥好讲的?经常跟if语句进行搭配用于 ...
- 零基础入门学习Python(34)--丰富的else语句及简洁的with语句
知识点 else语句的用法: 1)配合if语句 if a>b: print(a) else: print(b) 2)配合while和for循环 只在循环完成后才执行,如果循环中执行使用到brea ...
- javascript语句——表达式语句、块语句、空语句和声明语句
× 目录 [1]表达式 [2]块语句 [3]空语句[4]声明 前面的话 如果表达式在javascript中是短语,那么语句(statement)就是javascript整句或命令.表达式计算出一个值, ...
- 分支语句 if的嵌套 循环语句
0930 今天学习内容做以下总结: 语句的分类:顺序语句,分支语句(选择,条件),循环语句 分支语句 格式1:if(表达式(要么是true 要么是false)){} 格式2:if(){}slse{} ...
- mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干
1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...
- if语句,if...else if语句和switch...case语句的区别和分析
前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...
- 查看SQL语句执行时间与测试SQL语句性能
查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了 ...
- 【SQL】INSERT INTO SELECT语句与SELECT INTO FROM语句
INSERT INTO SELECT语句与SELECT INTO FROM语句,都是将一个结果集插入到一个表中: #INSERT INTO SELECT语句 1.语法形式: Insert into T ...
- 丰富的else语句以及简介的with语句
1.if···else略 2.while.for与else Python中的循环语句(无论是while 还是for)中,经常配合continue和break语句,此时,可以和else搭配使用,当循环正 ...
随机推荐
- 2018年第九届蓝桥杯【C++省赛B组】第二题 明码
汉字的字形存在于字库中,即便在今天,16点阵的字库也仍然使用广泛.16点阵的字库把每个汉字看成是16x16个像素信息.并把这些信息记录在字节中. 一个字节可以存储8位信息,用32个字节就可以存一个汉字 ...
- c#按钮如何避免重复点击后报错
前言:感谢51·halcon的绝地武士大佬啊,虽然你不认识我,但是我从你那学到了很多知识,真的感谢您对知识的无私传播哈哈(两天一个博客有在坚持的,都是草稿,等这个实习阶段过去了再回来整理博客~) bt ...
- IE 8 下小心使用console.log()
我们很多情况下会使用console.log() 对代码调试.在chrome下和Firefox下都不会有太大问题,但是在最近我在IE8 下调试时使用了console.log(),就出现一些问题.在IE8 ...
- C#继承的多态性
C#继承的多态性 当一个类A派生出新类B时,这个基类A在新类B中可以表现为不同的类型:用作它自己的类型.基类型,或者在实现接口时用作接口类型,我们将这种情况称为多态性. C#中的每种类型都是多态性的, ...
- google detection
paper: Scalable, High-Quality Object Detection ILSVRC14上,detection刷到55.7%的MAP,google插入的地方,别人倍感压力啊. 总 ...
- js 图片库 改进版
平稳退化 js与html标记分离? 如果有两个函数:firstFunction和secondFunction,如果想让它们俩都在页面加载时得到执行,可以调用函数addLoadEvent,只有一个参数, ...
- IDEA 安装配置及操作总结(新手必看)
Jetbrains官网下载IDEA15 我们在浏览器输入网址https://www.jetbrains.com/.选择相应的系统版本,下载最新版本的IDEA15,Windows系统双击安装文件,根据界 ...
- 《Redis设计与实现》- AOF持久化
1. AOF持久化 Redis AOF 持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的. 2. RDB持久化与AOF持久化的区别 RDB持久化 RDB持久化通过保存数据中的键值对来记 ...
- OracleWeblogic12C安装教程
一,安装WebLogic Server 1. 双击exe安装文件 2.准备安装文件 3. 生成向导序列 4. 选择安装路径 5. 开始安装 经过以上步骤,weblogic已经成功安装到了你的电脑上,但 ...
- 利用python进行坐标提取以及筛选(文件操作的小应用)
由于目前暂时还未学习到python关于数据处理的模块方面的知识,且刚好最近朋友发来一份坐标数据文件(txt格式),让我帮他对其进行筛选, 因此利用了最近刚学过的python文件处理操作以及以前所学的基 ...