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

不知道哪里错了,运行不出正确的结果

这个过程哪里错了啊,我找不出来,请帮忙看看

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


正在回答

4 回答

任务提示符打开python 这些代码根本打不完,打一行后 一个回车 就出现错误

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)

因为最后一句print位置不对导致的,正确的写法如上面;print后面s对于python 2.x来说加不加都行;但是3.x就必须要加了

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

程序运行过程中s在改变,所以再循环中值会不一样,建议新建一个set用于存储结果。

最后附上鄙人代码:

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

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

s1 = set([])

for name in L:

if name not in s:

s1.add(name)

print(s1)


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

不敢想象

我的代码中print函数后面加括号是因为我的python版本是3.5
2017-02-27 回复 有任何疑惑可以回复我~

缩进有问题,print位置不对

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

qq_采蘑菇的小兔子_0 提问者

s = set(['Adam', 'Lisa', 'Paul']) L = ['Adam', 'Lisa', 'Bart', 'Paul'] for name in L: if x in s: s.remove(name) else: s.add(name) print s 这样还是不对
2017-02-28 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

不知道哪里错了,运行不出正确的结果

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