Python总结(第十章)【分支与循环】
本帖最后由 WangJS 于 2020-4-11 15:10 编辑Python总结(第十章)
10.分支与循环
(1)首次接触打飞机
到现在为止学习的东西并不支持我们做出打飞机这个游戏,但我们可以使用中文去理解一下这个游戏。
先加载背景音乐
单曲循环背景音乐
刷新我们自己的飞机
步数 = 0
while true:(重复执行)
if 点击关闭按钮:
退出程序
步数 += 1
if 步数==50:
步数 = 0
小飞机诞生
小飞机向下移动
刷新屏幕
if 用户鼠标移动:
把我方飞机移到鼠标位置(我方飞机中心位置 = 用户鼠标置)
屏幕刷新
if 我方飞机碰到小飞机:
我方嗝屁,播放死亡音效
我方飞机图案换为死亡图案
打印“哈哈哈哈哈哈哈哈,你输了!!!”
淡出背景音乐
(2)判断你的分数等级
我们现在有两种种方案:
方案一:
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('输入错误!')
方案二:
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('输入错误!')
这两个方案其实都能执行,但第一个方案会消耗我们更多的时间
如果你的得分是99分,第一个方案会判断5次;而第二个方案只会判断一次。这会养成很好的编程习惯,所以强烈建议使用第二个方案!!!
(3)悬挂else:
C语言的if和else是按大括号匹配的,所以会和你想象的不一样,Python只要按好tab就没有这些问题啦!
(还是Python好{:10_264:} )
(4)三元表达式:
有了这个三元操作符的条件表达式,你可以使用一条语句来完成以下四个行的条件判断和赋值操作:
x, y = 4, 5
if x < y:
small = x
else:
small = y
例子可以改进为:
small = x if x < y else y
#语法:x if 条件 else y
(5)断言(assert)
assert 表达式当后面条件为真时什么都不执行,为假抛出AssertionError的异常
举个栗子:
>>> assert 3 > 4
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
assert 3 > 4
AssertionError
>>> assert 4 > 3
>>>
当需要确保程序中的某个条件一定为真才能让程序正常工作的话,我们可以用Ta再程序中置入检查点,这样我们就可以在第一时间知道我们要修改哪里了!
(6)while循环
简单说下语法吧:
while 条件:
循环体
(7)for 循环
语法:
for 目标 in 表达式:
循环体
栗子来啦:
>>> me = 'WangJS'
>>> for I in me:
print(I,end = ' ')
W a n g J S
>>> friends = ['乘号','xinhua202002','qiuyouzhi','永远的渣滓','墨羽岚','wuqramy']
>>> for each in friends:
print(each,' ',len(each)) #len,求目标长度
乘号2
xinhua20200212
qiuyouzhi9
永远的渣滓5
墨羽岚3
wuqramy7
(8)for小弟 之range
range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。
语法:
range( strat , stop , step=1)
strat 开始数字,不是必写,默认值为0
stop 结束数字,必写,输出不被包括
step 相邻两个数的差,不是必写,默认值为1
例子:
>>> list(range(7))
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(3,11):
print(i)
3
4
5
6
7
8
9
10
>>> for i in range(1,10,2):
print(i)
1
3
5
7
9
(9)break语句
用于中断一个循环(只中断自己所在的一层循环,不会影响两个tab前的大循环)。
bingo = 'WangJS是帅哥'
answer = input('请输入WangJS最想听的一句话:')
while True:
if answer == bingo:
break
answer = input('抱歉,错了,请重新输入(答案正确才能退出游戏):')
print('哎哟,帅哦~ 真聪明,这都能猜对')
如果不输入正确答案就不会退出!
(10)continue语句
用于跳过这一轮循环(只跳过一轮!)。
for i in range(10):
if i%2 != 0:
print(i)
continue
i += 2
print(i)
2
1
4
3
6
5
8
7
10
9
如果i除以2余零,那么加2再输出,如果是奇数直接输出。
如果喜欢,别忘了评分订阅哟(传送门)!{:9_227:}
沙发吗? {:10_277:} {:10_275:} 从前天开始做,今天还没更新?{:10_327:} 冰河星云 发表于 2020-4-10 08:48
从前天开始做,今天还没更新?
今天肯定更{:10_245:} 既然你打了广告,
我也要宣传一下嘛 冰河星云 发表于 2020-4-10 09:21
既然你打了广告,
我也要宣传一下嘛
两个一样的诶 楼主,为啥还不更新?(等了3天了) 上帝之手913 发表于 2020-4-10 18:36
楼主,为啥还不更新?(等了3天了)
更新了,不过还差一点,那个列表的小伙伴没写完,再等等吧
(大哥,我只是个小学生,好多的网课,更新慢理解一下呗{:10_254:}) 冰河星云 发表于 2020-4-10 08:48
从前天开始做,今天还没更新?
更新了,看下10楼 (3)悬挂else:
我没学过C只能大概说下,C语言if和else是就近匹配的,所以会和你想象的不一样,Python只要按好tab就没有这些问题啦!
(还是Python好)C语言的if和else是按大括号匹配的。 永恒的蓝色梦想 发表于 2020-4-11 14:57
C语言的if和else是按大括号匹配的。
能帮我改一下么?我没学过C语言欸{:10_254:} WangJS 发表于 2020-4-11 15:05
能帮我改一下么?我没学过C语言欸
我又不是版主,改不了……自己改{:10_327:}
页:
[1]