请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师麻烦看一下,这个打印结果有点不理解

a = (['ios','android','microsoft','psp'],[1,2,3,4])
for x in a:
    for y in x:
        if y == 'microsoft':
            break
    print(y)
else:
    print('end')

老师我把print的位置提前到了和for同一层以后,为什么打印结果是下面这个?
图片描述

microsoft
4
end

正在回答

2回答

for y in x: 这个循环跳出的条件是 y== micriosoft  当,y满足条件是,跳出内循环,当前值是y=microsoft所以就打印了出来。由于到microsoft的时候就跳出了,所以后面的psp不会打印出来。

for y in x遍历「1,2,3,4】 的时候没有任何的条件满足 y = microsfot 所以break不会执行,遍历的最后一个元素是4,所以会打印4.

最后的else 是一定会打印的 end。

这样的问题,建议还是断点调试啊,逻辑还是比较复杂的,跟着断点分析为什么这么走 才能把问题理清楚。

0 回复 有任何疑惑可以回复我~
7七月 2019-03-02 20:07:39

可以把你调整后的代码结构也贴一下吗?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信