打飞机游戏
加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
while True:
if 用户是否点击了退出按钮:
退出程序
小飞机诞生
小飞机移动一个位置
屏幕刷新
if 用户鼠标产生移动:
我方飞机中心位置---用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生肢体冲突:
我方挂,播放撞机音乐
修改我方飞机图案
打印"game over"
停止背景音乐,最好淡出
#但这样会屏幕会出现很多密密麻麻的飞机,so修改下
加载背景音乐
播放背景音乐(设置单曲循环)
我方飞机诞生
while True:
if 用户是否点击了退出按钮:
退出程序
interval += 1
if interval == 50 #不能设置太大,不然飞机出现得很慢,显得很卡
小飞机诞生
小飞机移动一个位置
屏幕刷新
if 用户鼠标产生移动:
我方飞机中心位置---用户鼠标位置
屏幕刷新
if 我方飞机与小飞机发生肢体冲突:
我方挂,播放撞机音乐
修改我方飞机图案
打印"game over"
停止背景音乐,最好淡出
小程序
按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下为D,写一个程序,当用户输入分数,自动转换为ABCD的形式打印
method1.py
#有点浪费CPU的时间,method1 每次输入完一个分数,都要执行5次 if
score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
print('A')
if 90 > score >= 80:
print('B')
if 80 > score >= 60:
print('C')
if 60 > score >= 0:
print('D')
if score < 0 or score > 100:
print('输入错误!')
method2.py
score = int(input('请输入您的分数:'))
if 100 >= score >= 90:
print('A')
else:
if 90 > score >= 80:
print('B')
else:
if 80 > score >= 60:
print('C')
else:
if 60 > score >= 0:
print('D')
else:
print('输入错误!')
method3.py
#实际上和 method2 是一样的,但method3 简洁一些,用到的elif == else if
score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
print('A')
elif 90 > score >= 80:
print('B')
elif 80 > score >= 60:
print('C')
elif 60 > score >= 0:
print('D')
else:
print('输入错误!')
悬挂else
从上面可以看出,python可以有效避免悬挂else(对python来说是不可能的,python强制使用缩进格式)
三元操作符
x, y = 4, 5
if x < y:
small = x
else:
small = y
上面的例子可以直接用三元操作符搞定 small = x if x < y else y
断言(assert)
>>> assert 3>4
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
assert 3>4
AssertionError
>>> assert 3<4
for循环
for循环也称计数器循环,虽然说Python是由C语言编写而来的,但是Ta的for循环跟C语言的for循环不太一样,Python的for循环显得更为智能和强大!
这主要表现在Ta会自动调用迭代器的next()方法,会自动捕获StopIteration异常并结束循环,所以这更像是一个具有现代化气质的for循环结构。
语法:
for 目标 in 表达式: (目标是每次迭代的变量,表达式是一个列表也可以是元组)
循环体
>>> favourite = 'fishc'
>>> for i in favourite:
print(i,end='')
fishc
>>> favourite = 'FishC'
>>> for i in favourite:
print(i,end=' ')
F i s h C
>>> member = ['小甲鱼','小布丁','黑夜','迷途','静怡']
>>> member = ['小甲鱼','小布丁','黑夜','迷途','静怡']
SyntaxError: invalid character in identifier
>>> member = ['小甲鱼','小布丁','黑夜','迷途','静怡']
>>> for each in member:
print(each, len(member))
小甲鱼 5
小布丁 5
黑夜 5
迷途 5
静怡 5
>>> for each in member:
print(each, len(each))
小甲鱼 3
小布丁 3
黑夜 2
迷途 2
静怡 2
>>>
while循环
语法:
while 条件
循环体python的while循环和if条件分支有点类似,在条件为真的时候执行某一段代码,不同的是条件为真,while就会一直重复执行这段代码,把这段代码称作循环体。
range()
for循环其实还有一个小伙伴:range()内建函数
语法:range( [strat,] stop[, step=1] )
- 这个BIF有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
- step=1表示第三个参数的值默认值是1。
- range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列
>>> range(5) #一个参数
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(2,9) #两个参数
SyntaxError: invalid syntax
>>> for i in range(2,9):
print(i)
2
3
4
5
6
7
8
>>> for i in range(1,10,2): #三个参数,从1-10不包括10,数字之间隔2
print(i)
1
3
5
7
9
两个关键的语句
break&continue
break:中断循环,并跳出循环
continue:中断本轮循环,跳到判断条件处,若条件成立则进行下一轮循环
代码例子
bingo = '小甲鱼是帅哥'
answer = input('请输入小甲鱼最想听的一句话:')
while True:
if answer == bingo:
break
answer = input('抱歉,错了,请重新输入(答案正确才能退出游戏):')
print('哎哟,帅哦~')
print('您真是小甲鱼肚子里的蛔虫啊^_^')
运行
请输入小甲鱼最想听的一句话:ljjl
抱歉,错了,请重新输入(答案正确才能退出游戏):lajin
抱歉,错了,请重新输入(答案正确才能退出游戏):小甲鱼好帅
抱歉,错了,请重新输入(答案正确才能退出游戏):小甲鱼是帅哥
哎哟,帅哦~
您真是小甲鱼肚子里的蛔虫啊^_^
代码例子