课时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搭配使用,当循环正 ...
随机推荐
- 转:深入浅出spring IOC中四种依赖注入方式
转:https://blog.csdn.net/u010800201/article/details/72674420 深入浅出spring IOC中四种依赖注入方式 PS:前三种是我转载的,第四种是 ...
- 移动端定制软键盘样式 配置input属性的type属性
1.当你的input输入的数据为链接地址时type属性可改为 type=url 最下面一栏就会出现.com 提高用户体验 2.当你的input输入的数据为email时type属性可改为 type=em ...
- 第44章 MPU6050传感器—姿态检测—零死角玩转STM32-F429系列
第44章 MPU6050传感器—姿态检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...
- ES6 extends继承及super使用读书笔记
extends 继承 extends 实现子类的继承 super() 表示父类的构造函数, 子类必须在 constructor中调用父类的方法,负责会报错. 子类的 this 是父类构造出来的, 再在 ...
- 关于img底部空白
<img>元素底部为何有空白? 问题: 最近听网课遇到这样一个问题,先po出代码如下: <!--html--> <div class="top"> ...
- Exception occurred during processing request: The given object has a null identifier: com.zsn.crm.Model.SaleVisit; nested exception is org.hibernate.TransientObjectException: The given object has a nu
edit.jsp页面没有加入隐藏字段 id ,导致模型驱动封装时缺少id ,,调用update更新数据库时出错!
- Mysql入门基础命令
1 Mysql基本操作 1.1 查询当前数据库 mysql> show databases; +--------------------+ | Database | +------- ...
- SQLSERVER 数据库恢复挂起的解决办法
如果你的数据库还处于挂起状态,请把我下面代码的test改为你的库名,然后执行完,刷新就正常了: USE masterGOALTER DATABASE test SET SINGLE_USERGOALT ...
- html页面 加载完成后再刷新 一次
主要用于第一次加载页面有部分加载bug,再刷新一次即可正常运行. 简单粗暴直接上代码,不带参数,0影响 <Script>function refresh(){ url = location ...
- python——numpy_1图像基本操作
1.图像的数组表示: from PIL import Image from pylab import * from numpy import * im = array(Image.open('E:\P ...