求大神告知為啥將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
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
2018-12-26
舉報
2018-12-27
程序的執行是從上到下的先執行的在x初始值是0 的情況下x=x+1之后執行b=l(x),此時是b=l(1),要是換了位置那就有可能先執行b=l(x)在執行x=x+1了? ? 這樣就是b=l(0)
2018-12-27
非常感謝,我是初學小白
2018-12-26
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
2018-12-26
當前b=L[x]中x時從1開始的。list的初始位置是從L[0]開始的。
2018-12-26
程序執行是有順序的 先運算 賦值和先賦值后運算結果不一樣