|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 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好 )
(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
复制代码
当需要确保程序中的某个条件一定为真才能让程序正常工作的话,我们可以用Ta再程序中置入检查点,这样我们就可以在第一时间知道我们要修改哪里了!
(6)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
- xinhua202002 12
- qiuyouzhi 9
- 永远的渣滓 5
- 墨羽岚 3
- wuqramy 7
复制代码
(8)for小弟 之range
range这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列。
语法:
range( strat , stop , step=1)
strat 开始数字,不是必写,默认值为0
stop 结束数字,必写,输出不被包括
step 相邻两个数的差,不是必写,默认值为1
例子:
- >>> list(range(7))
- [0, 1, 2, 3, 4, 5, 6]
复制代码- >>> 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再输出,如果是奇数直接输出。
如果喜欢,别忘了 评分订阅哟( 传送门)!
|
|