У меня есть задание, в котором у меня есть список (немецкая песня), и мой ввод - это одно слово в первой половине песни. Задача состоит в том, чтобы вынуть слово из первой половины песни и посмотреть, появится ли оно во второй половине снова, но мы должны сделать это особым образом. Мы берем длину слова и прыгаем столько раз в word2, а затем берем длину слова 2 и прыгаем столько раз в word3 ... Если я снова получаю исходное слово (мой ввод), я останавливаюсь.
Первая проблема с моим кодом состоит в том, что он всегда идет в конец списка, он не останавливается, когда достигает исходного слова (ввод). Вторая проблема заключается в том, что он не добавляет слово 2 раза в список, он добавляет его только один раз. Цикл должен прерваться после того, как он достигнет входа или конца списка песен.
Вот код, в котором проблема (я думаю): if song[index] not in found_list:
.
Вот всекод:
song = ["Es", "gingen", "zwei", "Parallelen",
"ins", "Endlose", "hinaus",
"zwei", "kerzengerade", "Seelen",
"und", "aus", "solidem", "Haus",
"Sie", "wollten", "sich", "nicht", "schneiden",
"bis", "an", "ihr", "seliges", "Grab",
"Das", "war", "nun", "einmal", "der", "beiden",
"geheimer", "Stolz", "und", "Stab",
"Doch", "als", "sie", "zehn", "Lichtjahre",
"gewandert", "neben", "sich", "hin", #End of the first half of the song, index: 42
"da", "wards", "dem", "einsamen", "Paare",
"nicht", "irdisch", "mehr", "zu", "Sinn",
"Warn", "sie", "noch", "Parallelen",
"Sie", "wußtens", "selber", "nicht",
"sie", "flossen", "nur", "wie", "zwei", "Seelen",
"zusammen", "durch", "ewiges", "Licht",
"Das", "ewige", "Licht", "durchdrang", "sie",
"da", "wurden", "sie", "eins", "in", "ihm",
"die", "Ewigkeit", "verschlang", "sie",
"als", "wie", "zwei", "Seraphim"]
originalWord = input("Enter a word: ")
found_list = [] # The list for found words
index = song.index(originalWord) # Get the index of the first instance of "word"
wordCount = song.count(originalWord)
while True:
if wordCount <= 1:
print("Word appears only 1 time and therefore can't appear one more time")
break
try:
if song[index] not in found_list:
found_list.append(song[index])
found_list.append(len(song[index]))
index += len(song[index])
except:
break
print(found_list)