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

求大神告知为啥将x = x + 1换个位置就会出错?

s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

x = 0

while x < 4:

    x = x + 1

    b = L[x]

    if b not in s:

       s.add(b)

    else:

       s.remove(b)

print s


正在回答

5 回答

程序的执行是从上到下的先执行的在x初始值是0 的情况下x=x+1之后执行b=l(x),此时是b=l(1),要是换了位置那就有可能先执行b=l(x)在执行x=x+1了    这样就是b=l(0)

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

非常感谢,我是初学小白

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

s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for name in L:

    if name in s:

        s.remove(name)

    else:

        s.add(name)

print s


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

当前b=L[x]中x时从1开始的。list的初始位置是从L[0]开始的。

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

程序执行是有顺序的 先运算 赋值和先赋值后运算结果不一样

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

举报

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

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

进入课程

求大神告知为啥将x = x + 1换个位置就会出错?

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