麻煩大神看看為什么輸出是不對
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for i in L:
? ? s.add(i)
? ? if len(s) == 3:
? ? ? ? s.remove(i)
? ? ? ? continue
print s
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for i in L:
? ? s.add(i)
? ? if len(s) == 3:
? ? ? ? s.remove(i)
? ? ? ? continue
print s
2020-05-18
舉報
2020-05-24
你這第一次循環的時候,就刪除掉了Adam,s的長度就不可能會是3了,第二次循環的時候就刪除不掉Lisa,第三次循環因為加入了Bart,s的長度又變回了3,因此,執行if代碼塊,又給把Bart給刪了,第四次循環因為s的長度又變回了2,不執行if代碼塊。你這輸出來的結果恐怕只有Lisa和Paul吧,不知道你寫這代碼什么意思,還有continue用在這里毫無意義呀,continue的意思就是跳過后面的代碼塊執行下一次的循環,你放在循環的最后位置和沒放作用一樣。
2020-06-17
我前面弄懂啦 謝謝各位 。我點不了采納 不知道為啥不跳轉
2020-05-23
你這個代碼就只有循環到Adam和Bart的時候len(s)才等于3.所以都不會網if里面運行
2020-05-19
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for i in L:
? ? s.add(i)#如果添加的元素已經存在于set中,add()不會報錯,但是不會加進去了
print (s)