学习时间:2017/09/16
第八、九、十课:了不起的分支和循环
知识点汇总:
1. 飞机游戏整体框架:
加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
interval = 0 #间隔时间
while True:
if 用户是否点击了关闭按钮:
退出程序
break
interval += 1
if interval == 50
interval = 0
小飞机诞生
小飞机移动一个位置
屏幕刷新
if 用户鼠标产生移动:
我方飞机中心位置 = 用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生位置冲突:
我方挂,播放撞击音乐
修改我方飞机图案
打印"Game over"
停止背景音乐,最好淡出
break
2.elif
=else if
,python可以有效避免”悬挂else“。
3.条件表达式(三元操作符):语法为x if 条件 else y
,即if
条件为真,则返回if else
左边的值,否则返回右边的值。
>>> x,y=4,5
>>> small=x if x<y else y
>>> small
4
>>> x,y=4,5
>>> if x<y:
small=x
else:
samll=y
>>> small
4
4.断言(assert
):当这个关键词后边的条件为假的时候,程序自动崩溃并抛出AssertionError
的异常。
一般来说我们可以用它在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert
关键字就非常有用了。
5.相对于C语言中的for
循环不同,python的for
循环显得更为智能和强大。语法:
for 目标 in 表达式:
循环体
>>> number=['第一个','第二','三','']
>>> for each in number:
print(each,len(each))
第一个 3
第二 2
三 1
0
6.成员资格符:in
,用于检查一个值是否在序列中,如果在序列中返回True,否则返回False。
>>> name="小甲鱼"
>>> '鱼' in name
True
>>> '肥鱼' in name
False
当在in
后使用的是一个int
型变量,则程序会报错,因为in
是成员资格运算符,而不是像 C 语言那样去使用 for
语法。Python 的 for
更像脚本语言的 foreach
。
7.range()
语法为range([start,]stop[,step=1])
- 这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数可选。
- step=1
表示第三个参数的值默认为1
- range
这个BIF的作用是生成一个从start
参数的值开始到stop
参数的值(不包含该值)结束的数字序列。
>>> for i in range(1,11,2):
print(i,end=" ")
1 3 5 7 9
8.两个关键的语句:break
和continue
,break终止循环,跳出循环体;continue跳出本轮循环,开始下一轮循环(这里要注意的是:在开始下一轮循环之前,会先测试循环条件)。
9.假设有x=1
,y=2
,z=3
,请问如何快速将三个变量的值互相交换?
>>> x=1;y=2;z=3
>>> x,y,z=z,x,y
>>> print(x,y,z)
3 1 2
10.什么情况下我们要使循环永远为真?
while Ture:
循环体
用于游戏实现,因为游戏只要运行着,就需要时刻接收用户输入,因此使用永远为真确保游戏“在线”。操作系统也是同样的道理,时刻待命,操作系统永远为真的这个循环叫做消息循环。另外,许多通讯服务器的客户端/服务器系统也是通过这样的原理来工作的。
所以永远为“真”虽然是“死循环”,但不一定是坏事,再说了,我们可以随时用 break 来跳出循环!
11.