亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

這個那里錯了啊???

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

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

for x in L:

? ? if x in s:

? ? ? ? continue

? ? s.add(x)

print s


正在回答

1 回答

你做的是6-10的題吧。你的代碼應該沒問題不會報錯,但是結果肯定不滿足題目要求。

題目要求:給定一個list,對list中的每一個元素,

  1. 如果在set中,就將其刪除

  2. 如果不在set中,就添加進去

分析一下你的代碼:

if?x?in?s:
????continue

這段代碼的判定的結果是:如果x在set中,那么跳過本次循環;

這和題目的要求不符,正確的代碼應該是:

if?x?in?s:
?????s.remove(x)

并且,第二個錯誤:

for?x?in?L:
????if?x?in?s:
????????continue
????s.add(x)

在整個循環中,每執行一次循環,你的這段代碼都會執行一次s.add(x)

題目要求為:如果不在set中,就添加進去,這段代碼的功能顯然不符合題目的要求

需要為s.add(x)設置一個執行條件,滿足x不在set中這個條件才執行s.add(x)。

以下為正確代碼:

for?x?in?L:
????if?x?in?s:
????????s.remove(x)
????else:
????????????s.add(x)

完整代碼如下,希望能幫到你:

s?=?set(['Adam',?'Lisa',?'Paul'])
L?=?['Adam',?'Lisa',?'Bart',?'Paul']
for?x?in?L:
????if?x?in?s:
????????s.remove(x)
????else:
????????????s.add(x)
print?s


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

weixin_慕瓜9225184

請問else后面默認縮進4字符,運行失敗,一定要再手動縮進四個 為什么
2019-07-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758396    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

這個那里錯了?。???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號