继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第14天Python第七章包、模块、函数与变量作用域

我是香皂皮皂
关注TA
已关注
手记 39
粉丝 0
获赞 5

课程名称:全面系统Python3.8入门+进阶(程序员必备第二语言)

课程章节:7-2 for与for-else循环

主讲老师:7七月

课程内容:

今天学习的内容包括:

for与for-else循环

课程收获:

for循环和while循环在使用场景上有什么不同。

for 主要是用来遍历/循环,序列或者集合、字典。

# for循环格式
for target_list in expression_list
    pass

EG:依次打印列表内元素。

a = ['apple', 'orange', 'banana', 'grape']
for x in a:
    print(x)

       http://img1.mukewang.com/63273d54000196b509440181.jpg


代码块内还可以再嵌套代码块

EG:打印子列表里面的元素

a = [['apple', 'orange', 'banana', 'grape'], (1,2,3)]
for x in a:
    for y in x:
        print(y)

http://img.mukewang.com/63273d670001f1a804590354.jpg

EG:在一行内打印

a = [['apple', 'orange', 'banana', 'grape'], (1,2,3)]
for x in a:
    for y in x:
        print(y,end='')

http://img3.mukewang.com/63273d780001256604890187.jpg

EG:for和else搭配使用

a = [['apple', 'orange', 'banana', 'grape'], (1,2,3)]
for x in a:
    for y in x:
        print(y)
else:
    print('fruit is gone')

http://img2.mukewang.com/63273d8b000169c204370357.jpg

当我们所有列表的元素被打印出来后,最末尾的时候fruit is gone被打印出来。

不同于while else循环,当列表里面的元素都被遍历完了之后,这个else就会被执行。

如果我想强行终止for循环要怎么做?

a = [1,2,3]

for x in a:
    if x == 2:
        break
    print(x)
# 强行终止当前循环,并且之后循环不在执行

这段代码执行后会不会打印3,同时2会不会被打印出来?

答案是不会,一旦for循环遇到break语句之后,这个循环就立刻结束了。他不会去执行break后面的代码,包括下次的循环,下下次的循环都不会去执行。所以2不会被打印,这段代码的执行结果只会显示1。

http://img1.mukewang.com/63273da20001eea905140181.jpg

在某些情况下,我只想跳过X==2。依然想把x==3打印出来。

# 在某些情况下,我只想跳过X==2。依然想把x==3打印出来
a = [1,2,3]

for x in a:
    if x == 2:
        continue
    print(x)

http://img4.mukewang.com/63273db20001330804460398.jpg

# 之前当for循环值班完之后会执行else内print,现在加入了break后,else还会执行吗
a = [1,2,3]

for x in a:
    if x == 2:
        continue
    print(x)
else:
    print('EOF')

如果你的for循环不是正常结束的,就是不是让他遍历完之后结束的,而是通过强制的break打断的,是不会执行else里面的语句。

http://img.mukewang.com/63273dc400016ee404650311.jpg

使用continue是会执行else里面的语句。

# 使用continue 会执行else之后的语句
a = [1,2,3]

for x in a:
    if x == 2:
        continue
    print(x)
else:
    print('EOF')

http://img2.mukewang.com/63273dd50001274e03530383.jpg

EG:

a = [['apple', 'orange', 'banana', 'grape'], (1,2,3)]
for x in a:
    for y in x:
        if y == 'orange':
            break
        print(y)
else:
    print('fruit is gone')

http://img3.mukewang.com/63273de60001deff07770465.jpg

为什么我们加入了break,上面的代码还会打印出else语句?我们从orange开始break了,为什么后面的1,2,3会被打印出来


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP