为了账号安全,请及时绑定邮箱和手机立即绑定

练习题中这句啥意思,愣是没看懂,大佬指点下啊,if not flag:

if not flag:


正在回答

1 回答

因为有重合返回false,所以flag的值为假,not flag就为真,所以if not flag就是为了进入这个条件判断,接下来的操作就是打印重复元素了

0 回复 有任何疑惑可以回复我~
#1

芒果不忙_ 提问者

为真不就是不重合了嘛,不太明白啊,既然不重合了,还判断下面循环干啥,下面的循环不就是要提出重合的元素吗?有点懵啊,按照我说的这个逻辑,不合逻辑啊,不是只有判断重合了,再次提取重合的元素吗?为啥来个如果不重合,然后再去循环?
2022-03-03 回复 有任何疑惑可以回复我~
#2

小颖April 回复 芒果不忙_ 提问者

不是啊兄弟,就是有重合啊所以not flag为真,才能进入if条件判断提取重合元素,我大概明白你意思,但是你上面有点想的不对,if not flag不是用来判断如果不重合的意思,他这句话只是为了保证可以进入if判断从而提取重复元素,不是用来判断重不重合的,你想想如果没有重合元素,flag值为真,not flag为假,就无法进入if条件所以也就不存在提取重复元素。我不知道说清楚没有,兄弟你再想想
2022-03-04 回复 有任何疑惑可以回复我~
#3

芒果不忙_ 提问者 回复 小颖April

if not flag: for item in s1: 这个是item=([1,2,3,4,5,6,8,10])。。。。这句: if item not in s2: 这个剔除s2不包含在item中的元素,那么这里为啥最后输出结果没有10呢? 10在item中,这句是剔除s2不在item中的值则跳出,与item存在的值没关系 啊应该最后结果应该有10啊?可以10怎么被剔出去的啊?大哥在点播下我吧
2022-03-04 回复 有任何疑惑可以回复我~
#4

小颖April 回复 芒果不忙_ 提问者

模拟一下程序运行,for item in s1第一轮item值为1,if 1 not in s2,执行continue,执行continue也就是终结这一轮进入下一轮循环,但显然if不成立,也就不执行continue,程序继续执行下一行print也就是打印了重合元素,后几轮执行情况同第一轮,一直到s1的最后一个元素10才不一样,10并不在s2中if条件满足,这轮循环中后续语句不再执行,所以print不会执行也就没有输出。可以再回顾一下for和continue的东西,continue跳出的是本次循环所以是针对for并非针对if。还有一个小tip,可以借助pycharm断点一步步看程序运行,加油!
2022-03-05 回复 有任何疑惑可以回复我~
#5

芒果不忙_ 提问者 回复 小颖April

你讲我明白了,谢谢大佬,厉害啊
2022-03-05 回复 有任何疑惑可以回复我~
#6

嘿呀2021 回复 芒果不忙_ 提问者

if item not in s2 判断的是item在不在s2中,10不在s2中,所以continue回到循环,接下一个,直到item 出现在S2中,则输出,所以最后输出的就是重合的元素
2022-11-13 回复 有任何疑惑可以回复我~
#7

weixin_慕函数3435348

s1 = set([1, 2, 3, 4, 5]) s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9]) for a in s1: if a in s2: print(a) 这样是否可以。
2023-02-06 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

练习题中这句啥意思,愣是没看懂,大佬指点下啊,if not flag:

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信