Я пытаюсь написать цикл while в цикле while, и по какой-то причине он не работает должным образом. Я знаю, что, наверное, здесь нет ничего тривиального, но я просто не понимаю, как он не работает!while-loop in a while-loop python
Целью цикла является сравнение двух строк, чтобы увидеть, одинаково ли они содержат три последовательных слова. Сначала я разделил две строки на списки их соответствующих комбинаций из трех слов, которые я храню в строках списков и stringscompare. Затем я прохожу через каждую строку из трех слов в stringscompare для каждой строки из трех слов в строках.
Это может показаться довольно длинным для многих, но я только начинающий программист, любые улучшения были бы весьма признательны.
Так что в настоящее время второй цикл while проходит весь путь, однако первый из них проходит только один раз, для первой строки в строках. Если строка соответствует, я бы хотел, чтобы она обрывалась с обеих петель, однако эти петли также намного больше для цикла, который я не хочу, чтобы он вырвался из.
например.
«это строка»
«это еще одна строка» --no матч
«это список строк а» - соответствует 'this is a'
«список является строка» - должна соответствовать 'is a string'
но в настоящее время не
strings = <list of 3 word strings> [...,...,...]
stringscompare = <list of 3 word strings to compare>
v=0, x=0
while v < len(strings) and stop == False:
while x < len(stringscompare) and stop == False:
if re.search(strings[v], stringscompare[x]):
same.append(dict)
stop = True
x += 1
v +=1
Без конкретных примеров строк и строк сложно сказать, что здесь происходит не так, но я предполагаю, что во внутреннем цикле stop становится равным True, поэтому внешний цикл завершается. Вы уверены, что это условие и остановка == False во внешнем цикле? – gefei
та же самая идея моя – Synoon