WangJS 发表于 2020-3-30 11:03:14

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:}

永远的渣滓 发表于 2020-3-31 19:31:06

沙发吗?

永远的渣滓 发表于 2020-3-31 19:32:25

{:10_277:}

冰河星云 发表于 2020-4-7 09:15:25

{:10_275:}

冰河星云 发表于 2020-4-10 08:48:08

从前天开始做,今天还没更新?{:10_327:}

WangJS 发表于 2020-4-10 09:15:50

冰河星云 发表于 2020-4-10 08:48
从前天开始做,今天还没更新?

今天肯定更{:10_245:}

冰河星云 发表于 2020-4-10 09:21:45

既然你打了广告,

我也要宣传一下嘛

上帝之手913 发表于 2020-4-10 11:02:22

冰河星云 发表于 2020-4-10 09:21
既然你打了广告,

我也要宣传一下嘛

两个一样的诶

上帝之手913 发表于 2020-4-10 18:36:04

楼主,为啥还不更新?(等了3天了)

WangJS 发表于 2020-4-11 14:50:15

上帝之手913 发表于 2020-4-10 18:36
楼主,为啥还不更新?(等了3天了)

更新了,不过还差一点,那个列表的小伙伴没写完,再等等吧
(大哥,我只是个小学生,好多的网课,更新慢理解一下呗{:10_254:})

WangJS 发表于 2020-4-11 14:50:46

冰河星云 发表于 2020-4-10 08:48
从前天开始做,今天还没更新?

更新了,看下10楼

永恒的蓝色梦想 发表于 2020-4-11 14:57:23

(3)悬挂else:

我没学过C只能大概说下,C语言if和else是就近匹配的,所以会和你想象的不一样,Python只要按好tab就没有这些问题啦!
(还是Python好)C语言的if和else是按大括号匹配的。

WangJS 发表于 2020-4-11 15:05:35

永恒的蓝色梦想 发表于 2020-4-11 14:57
C语言的if和else是按大括号匹配的。

能帮我改一下么?我没学过C语言欸{:10_254:}

永恒的蓝色梦想 发表于 2020-4-11 15:06:43

WangJS 发表于 2020-4-11 15:05
能帮我改一下么?我没学过C语言欸

我又不是版主,改不了……自己改{:10_327:}
页: [1]
查看完整版本: Python总结(第十章)【分支与循环】