Я поражен небольшой логической частью
мой код здесь
def find_between( string, first, last ):
list1 = []
try:
start = string.index( first ) + len( first )
end = string.index( last, start )
list1.append(string[start:end])
print(list1)
except ValueError:
return ""
with open("sample.txt")as f:
data = f.read()
print(data)
find_between( data, "*CHI: " , "%mor: " )
мой sample.txt содержит:
*CHI: I saw a giraffe and a elephant .
%mor: pro:sub|I v|see&PAST det:art|a n|giraffe coord|and det:art|a
n|elephant .
%gra: 1|2|SUBJ 2|0|ROOT 3|4|DET 4|2|OBJ 5|4|CONJ 6|7|DET 7|5|COORD 8|2|PUNCT
*CHI: <that> [/] (.) that (i)s it . [+ bch]
%mor: pro:dem|that cop|be&3S pro:per|it .
%gra: 1|2|SUBJ 2|0|ROOT 3|2|PRED 4|2|PUNCT
*CHI: I saw an elephant go swimming .
%mor: pro:sub|I v|see&PAST det:art|a n|elephant v|go part|swim-PRESP .
%gra: 1|2|SUBJ 2|0|ROOT 3|4|DET 4|5|SUBJ 5|2|COMP 6|5|OBJ 7|2|PUNCT
*CHI: <I saw eleph> [//] I saw the <g> [/] giraffe and the elephant <s>
[//] drop ball in the pool .
%mor: pro:sub|I v|see&PAST det:art|the n|giraffe coord|and det:art|the
n|elephant n|drop n|ball prep|in det:art|the n|pool .
%gra: 1|2|SUBJ 2|0|ROOT 3|4|DET 4|2|OBJ 5|4|CONJ 6|9|DET 7|9|MOD 8|9|MOD
9|5|COORD 10|9|NJCT 11|12|DET 12|10|POBJ 13|2|PUNCT
*CHI: I saw giraffe swimming in the pool to get that ball .
%mor: pro:sub|I v|see&PAST n|giraffe part|swim-PRESP prep|in det:art|the
n|pool inf|to v|get pro:dem|that n|ball .
Я должен вернуть всепредложение, которое находится между "* CHI:" и "% mor:", мой код приносит только первую строку, которая
I saw a giraffe and a elephant
, помогите мне, итерируя до конца строки, и я должен быть в состоянии напечататьвсе эти предложения между "* CHI:" и "% mor:"