测试题:
0. if not (money < 100): 上边这行代码相当于?
if money >= 100:
1. assert 的作用是什么?
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假的时候,程序自动崩溃并抛出AssertionError的异常。
什么情况下我们会需要这样的代码呢?当我们在测试程序的时候就很好用,因为与其让错误的条件导致程序今后莫名其妙地崩溃,不如在错误条件出现的那一瞬间我们实现“自爆”。
一般来说我们可以用Ta再程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。
2. 假设有 x = 1,y = 2,z = 3,请问如何快速将三个变量的值互相交换?
x, y, z = z, y, x
3. 猜猜 (x < y and [x] or [y])[0] 实现什么样的功能?
这其实是 Python 的作者还没有为 Python 加入三元操作符之前,Python 社区的小伙伴们灵活的使用 and 和 or 搭配来实现三元操作符的功能,这里边有涉及到列表和切片的知识,这部分知识很快就会讲解,迫不及待的朋友可以先稍微预习下。
4. 你听说过成员资格运算符吗?
Python 有一个成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回 True,否则返回 False。
例如:
- >>> name = '小甲鱼'
- >>> '鱼' in name
- True
- >>> '肥鱼' in name
- False
当下节课我们讲解 for 语句的时候,你看到 in 会不会就有了更深入的理解?!
动动手:
0. 视频中小甲鱼使用 if-elif-else 在大多数情况下效率要比全部使用 if 要高,但根据一般的统计规律,一个班的成绩一般服从正态分布,也就是说平均成绩一般集中在 70~80 分之间,因此根据统计规律,我们还可以改进下程序以提高效率。
题目备忘:按照 100 分制,90 分以上成绩为 A,80 到 90 为 B,60 到 80 为 C,60 以下为 D,写一个程序,当用户输入分数,自动转换为ABCD 的形式打印。
score = int(input('请输入一个分数:'))
if 80 > score >= 60:
print('C')
elif 90 > score >= 80:
print('B')
elif 60 > score >= 0:
print('D')
elif 100 >= score >= 90:
print('A')
else:
print('输入错误!')
1. Python 的作者在很长一段时间不肯加入三元操作符就是怕跟 C 语言一样搞出国际乱码大赛,蛋疼的复杂度让初学者望而生畏,不过,如果你一旦搞清楚了三元操作符的使用技巧,或许一些比较复杂的问题反而迎刃而解。
请将以下代码修改为三元操作符实现:
x, y, z = 6, 5, 4
if x < y:
small = x
if z < small:
small = z
elif y < z:
small = y
else:
small = z
实现如下:
small = x if (x < y and x < z) else (y if y < z else z)
2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
(1)打飞机小游戏的设计框架
加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
interval = 0while True:
if 用户是否点击了关闭按钮:
退出程序
interval += 1
if interval == 50:
interval = 0
小飞机诞生小飞机移动一个位置
屏幕刷新
if 用户鼠标产生移动:
我方飞机中心位置 = 用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生肢体冲突:
我方挂,播放撞机音乐
修改我方飞机图案
打印“Game over”
停止背景音乐,最好淡出
(2)条件表达式(三元操作符)
有了这个三元操作符的条件表达式,你可以使用一条语句来完成以下的条件判断和赋值操作:
x, y = 4, 5
if x < y:
small = x
else:
small = y
例子可以改进为:
small = x if x < y else y
(3)断言(assert)
assert这个关键字我们称之为“断言”,当这个关键字后边的条件为假时,程序自动崩溃并抛出AssertionError的异常。当这个关键字后边的条件为真时,程序无影响。
举个例子:
>>> assert 3 > 4
一般来说我们可以用Ta在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字就非常有用了。