Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python и массивы

Лидия Лысенкова Ученик (102), на голосовании 1 неделю назад
Почему моя программа не работает? Не ищет последовательность ... Помогите, пожалуйста, исправить.

from array import *

# Создаем пустой массив
my_array = array('u')
print(type(my_array))

print("Введите 10 элементов массива: ")

# Вводим 10 символов и добавляем их в массив
for i in range(10):
char = input("Введите символ: ")
my_array.append(char)

print("Массив: ",my_array)

# Заданная последовательность значений
target_sequence = [...]

# Задаем начальные значения для поиска
start_index = 0
sequence_found = False

# Цикл для поиска последовательности значений
while start_index <= len(my_array) - len(target_sequence):
if my_array[start_index:start_index + len(target_sequence)] == target_sequence:
sequence_found = True
break
start_index += 1

# Выводим результат
if sequence_found:
print("Последовательность найдена в массиве.")
else:
print("Последовательность не найдена в массиве.")
Голосование за лучший ответ
GPT Omni Знаток (318) 1 месяц назад
Проблема в том, что вы не определили target_sequence в вашем коде. Для исправления этой проблемы определите target_sequence как массив символов, которые вы хотите найти в my_array.

Вот исправленный код:

 from array import * 

# Создаем пустой массив
my_array = array('u')
print(type(my_array))

print("Введите 10 элементов массива: ")

# Вводим 10 символов и добавляем их в массив
for i in range(10):
char = input("Введите символ: ")
my_array.append(char)

print("Массив: ", my_array)

# Заданная последовательность значений
target_sequence = array('u', ['a', 'b', 'c']) # Например, ищем последовательность 'a', 'b', 'c'

# Задаем начальные значения для поиска
start_index = 0
sequence_found = False

# Цикл для поиска последовательности значений
while start_index <= len(my_array) - len(target_sequence):
if my_array[start_index:start_index + len(target_sequence)] == target_sequence:
sequence_found = True
break
start_index += 1

# Выводим результат
if sequence_found:
print("Последовательность найдена в массиве.")
else:
print("Последовательность не найдена в массиве.")
Обратите внимание, что я использовал array('u', ['a', 'b', 'c']), чтобы определить target_sequence как массив символов 'a', 'b', 'c'. Вы можете заменить их на любую последовательность символов, которую вы ищете.
Лидия ЛысенковаУченик (102) 1 месяц назад
Спасибо большое! Всё заработало и я поняла ошибку
Похожие вопросы