基本上是尝试根据模式将数字添加到列表L中。
从索引点0开始,打印该索引点的元素。然后,下一个索引点变为刚刚打印的元素的int,并且模式将继续,直到完成。
如果已经使用了索引点,那么您将向左移动一个,直到到达尚未使用的索引点为止。
以下是我解决问题的方法。一切似乎都有效,即它沿着数字移动,但是当它遇到它已经使用过的索引点时仍会打印该元素。
为什么它似乎没有正确地跳到左边?
Output is:
If L is: L = [1, 4, 4, 1, 2, 4, 3]
N is: 1, 4, 2, 4, 2, 4, 2] when it should
[1, 4, 2, 4, 1, 4, 3]
# other way around
L = [1, 4, 4, 1, 2, 4, 3]
for index, s in enumerate(L):
print(index, s)
print(' ', L)
M = []
N = []
T = []
i = L[0]
index_position = 0
while len(T) != len(L):
if index_position in T:
index_position = index_position + 1
else:
N.append(i)
T.append(index_position)
index_position = i
i = L[index_position]
print('N is: ', N)
print('T is: ', T)
答案 0 :(得分:0)
seen_that_before = []
N = []
for number in L
if number in seen_that_before: continue
seen_that_before.append(number)
N.append(number)
那样的东西?
请使用重要的变量名称。 N,T,L或i令人困惑。