求問這樣子為什么不行
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
x = 0
while x <= 3:
? ? if L[x] in s == True:
? ? ? ? s.remove(L[x])
? ? else:
? ? ? ? s.add(L[x])
? ? x = x + 1
print s
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
x = 0
while x <= 3:
? ? if L[x] in s == True:
? ? ? ? s.remove(L[x])
? ? else:
? ? ? ? s.add(L[x])
? ? x = x + 1
print s
2019-09-24
舉報
2019-09-29
if L[x] in s == True:不行有兩個原因,一是他的邏輯順序并不是先判斷in而是s==True;二是if是判斷條件,本身就會判斷,就是in這里就會判斷“有沒有”,有就為True,不需要再判斷
2019-09-24
搞明白了,原來是 in 和 == 優先級的問題,改成??if (L[x] in s) == True: 就可以了
2019-09-24
將“if”后面的 “==True”刪掉