вот мой код объяснение ниже: def indexs(char,chars):
find = []
indexi = []
for _ in range(len(chars)):
find.append(0)
wpos = 0
tpos = 0
charl = len(char)-1
indx = 0
for tpos in range(len(chars)):
if chars[tpos] == char[wpos]:
if wpos == 0:
indx = tpos
if wpos == charl:
b = 0
for a in range(indx,tpos):
if a == 1:
b = 1
break
if b == 0:
indexi.append(indx)
for a in range(indx,tpos+1):
find[a] = 1
wpos = 0
wpos += 1
else:
wpos = 0
print(find)
print(indexi)
print(indexs(input("что искать: "),input("в чем искать: "))) функция indexs ищет индексы сток "char" в "chars"
переменная find хранит места в которых была найдена последовательность они записаны 1 а пустые записаны 0
переменная indexi хранит индексы найденых последовательностей
wpos - позиция поиска в строке char
tpos - позиция чтения строки chars
indx - эта переменная записывает начало последовательности. если последовательность найдена переменная записывается как индекс.
for a in range(indx,tpos):
if a == 1:
b = 1
break
if b == 0:
проверяет не занимает ли найденая последоваетельность уже занятые места.
for a in range(indx,tpos+1):
find[a] = 1 - заполняет места занятые последовательностью
когда запустаю и ввожу выдает неправильные индексы.
пж помогите исправить код я не понимаю почему он не так работает
find = []
indexi = []
for _ in range(len(chars)):
find.append(0)
wpos = 0
tpos = 0
charl = len(char)-1
indx = 0
for tpos in range(len(chars)):
if chars[tpos] == char[wpos]:
if wpos == 0:
indx = tpos
if wpos == charl:
b = 0
for a in range(indx,tpos):
if a == 1:
b = 1
break
if b == 0:
indexi.append(indx)
for a in range(indx,tpos+1):
find[a] = 1
wpos = 0
wpos += 1
else:
wpos = 0
print(find)
print(indexi)
print(indexs(input("что искать: "),input("в чем искать: "))) функция indexs ищет индексы сток "char" в "chars"
переменная find хранит места в которых была найдена последовательность они записаны 1 а пустые записаны 0
переменная indexi хранит индексы найденых последовательностей
wpos - позиция поиска в строке char
tpos - позиция чтения строки chars
indx - эта переменная записывает начало последовательности. если последовательность найдена переменная записывается как индекс.
for a in range(indx,tpos):
if a == 1:
b = 1
break
if b == 0:
проверяет не занимает ли найденая последоваетельность уже занятые места.
for a in range(indx,tpos+1):
find[a] = 1 - заполняет места занятые последовательностью
когда запустаю и ввожу выдает неправильные индексы.
пж помогите исправить код я не понимаю почему он не так работает