Я относительно новичок в python и программировании, я пытаюсь решить проблему, требующую распечатки пары чисел, где разница обоих чисел == 2. Вот моя попытка :Перемещение по списку при сравнении 2 элементов
l = [1, 2, 3, 5, 7, 11, 13, 17, 19, 23]
k = []
count = 0
a = l[0] #initialize a to be the element in the first index
#b = l[1]
while (count < len(l)): #while count is less than length of list
for i in range(len(l)): #for each element i in l,
k.append(a) #append it to a new list k
a, b = l[i+1], l[i+1] #Now a and b pointers move to the right by 1 unit
count += 1 #update the count
print(k[i]) #print newly updated list k
if(a - b == 2): #attempting to get the difference of 2 from a,b. if difference a,b == 2, append them both
#If fail, move on to check the next 2 elements.
#k.append(l[i])
print(k)
Код застревает в a,b = l[i+1],l[i+1]
. Чтобы помочь вам понять, что происходит с кодом, обратитесь к: http://goo.gl/3As1bD
Цените любую помощь! Извините, если он abit messy. Все, что я хочу сделать, это иметь возможность перемещать каждый элемент в списке, сравнивая их различия, если это == 2
Спасибо! Заглядывая вперед к альтернативам
Этот код дает ошибку в строке 'а, б = l [i + 1], l [i + 1] ', поскольку индекс списка выходит за пределы диапазона. Когда 'i = len (l) - 1' вы делаете' l [i + 1] '. В вашем коде есть и другие недостатки, кроме этого. –