Уведомления

Группа в Telegram: @pythonsu

#1 Март 7, 2019 18:06:37

MaryTyler
Зарегистрирован: 2019-02-27
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Поиск в массиве

Задача: Заполните массив из 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

Офлайн

#2 Март 7, 2019 18:38:46

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Поиск в массиве

 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)

Офлайн

#3 Март 8, 2019 08:14:09

Dmti
Зарегистрирован: 2019-03-02
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

Поиск в массиве

Поясните пожалуйста зачем добавлена конструкция:

   if i == len(A)-1:
        break

Офлайн

#4 Март 8, 2019 12:34:21

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Поиск в массиве

если таким образом не прервать цикл, то в следующим if будет попытка сравнить последний элемент со следующим элементом списка. А так как следующего элемента нет - будет ошибка

Офлайн

#5 Март 8, 2019 13:01:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Поиск в массиве

panama555
Я дико извиняюсь, а не разумней внести это условие в границы цикла?

 range(len(A)-1)



Офлайн

#6 Март 8, 2019 13:33:52

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Поиск в массиве

Думаю, да.
Но это не ко мне вопрос
Я просто пояснил зачем в той программе конструкция с break

Офлайн

#7 Март 8, 2019 14:32:23

Dmti
Зарегистрирован: 2019-03-02
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

Поиск в массиве

Вот и я подумал что не совсем разумно было писать дополнительные проверки проще сразу указать.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version