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

碰到个循环中if判断的问题(内附代码)(我脑残了。。吸取教训以后遇问题多思考)

没事了,不好意思~脑残了
***********
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
judge=0
for i in L:
    print i
    for x in s:
        if x == i:
            judge = True
    print judge
Adam
True
Lisa
True
Bart        #!!!返回是True?
True
Paul
True    
而当我把if x == i:   改成  if x == 'Bart'
Adam
0
Lisa
0
Bart
0
Paul
0
结果又正常了,没搞明白

正在回答

1 回答

当L循环到bart的时候,s中没有匹配的值,所以judge的值就是上一次循环的值,而上一次循环是Lisa,这时候judge被设置为true,所以当循环到bart的时候也是true,而如果设置为bart,则s中没有匹配的bart,所以全都是初始值,也就是0

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

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

碰到个循环中if判断的问题(内附代码)(我脑残了。。吸取教训以后遇问题多思考)

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