Форум сайта python.su
0
Задача: Заполните массив из 10 элементов случайными числами в интервале . Найдите пару одинаковых элементов, стоящих рядом.
Пример:
Массив:
1 2 3 3 4 1 5 1 3 2
A=A=3
Пример:
Массив:
1 2 3 4 2 1 5 1 2 3
Нет.
Где ошибка в коде? Что исправить?
N=10 A=[0]*10 from random import randint N = 10 A = [ randint(0,5) for i in range(N) ] print(A) count=0 for i in range(A): if A[i]==A[i+1]: count +=1
Офлайн
76
from random import randint N = 10 A = [ randint(0,5) for i in range(N) ] print(A) count=0 for i in range(len(A)): if i == len(A)-1: break if A[i]==A[i+1]: count +=1 print(count)
Офлайн
1
Поясните пожалуйста зачем добавлена конструкция:
if i == len(A)-1: break
Офлайн
4
если таким образом не прервать цикл, то в следующим if будет попытка сравнить последний элемент со следующим элементом списка. А так как следующего элемента нет - будет ошибка
Офлайн
568
panama555
Я дико извиняюсь, а не разумней внести это условие в границы цикла?
range(len(A)-1)
Офлайн
4
Думаю, да.
Но это не ко мне вопрос
Я просто пояснил зачем в той программе конструкция с break
Офлайн
1
Вот и я подумал что не совсем разумно было писать дополнительные проверки проще сразу указать.
Офлайн