У меня есть список слов, и мой ввод - это одно из слов в первой половине списка (в данном случае этот список - немецкая песня). Теперь я беру длину этого слова и перескакиваю на длину этого слова в списке, например, первое слово в списке - «Es», а длина - 2. Теперь мы отсчитываем от «Es» 2 раза и получаем слово »Zwei». Я должен пройти через этот список и проверить, появляется ли слово снова во второй половине списка.
Программа работает, но проблема заключается в вводе. Он берет одно слово и видит, работает ли теория. Это список песен: «hin» - это последнее слово первой половины
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
"da", "wards", "dem", "einsamen", "Paare",
"nicht", "irdisch", "mehr", "zu", "Sinn",
"Warn", "sie", "noch", "Parallelen",
"Sie", "wusstens", "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"]
Я хочу, чтобы мой ввод состоял из всех слов первой половины списка (в данном случае песни), а нетолько одно слово. Таким образом, он просто распечатывает результат (в данном случае результат представляет собой список) для каждого слова в каждой строке.
![This is how the output now looks](https://i.stack.imgur.com/1pOqB.png)
И я хочу, чтобы он немедленнопечатать каждый результат для каждого слова в первой половине, и если теория работает. Это будет чем выход:
Теория работает / не
Результат1
Теория работает / не
Результат2
Теория работает / не
Результат3
И так далее ...
Вот код:
with open('C:/Users/xy/Desktop/BWINF/parallelen.txt', 'r') as f:
song = f.read()
noneed = "–?,.;:"
for char in noneed:
song = song.replace(char, "")
song = song.split()
def Parallelen(listSong):
originalWord = input("Enter a word: ")
originalWordSaved = originalWord
theorie_list = [] # The list for found words
index = song.index(originalWord) # Get the index of the first instance of "word"
indexOriginal = song.index(originalWordSaved)
wordCount = song.count(originalWord)
while True:
if indexOriginal > 42:
print("Word is in the second half")
break
if wordCount <= 1:
print("Word appears only 1 time and therefore can't appear one more time")
print("Theorie doesn't work")
break
try:
theorie_list.append(listSong[index])
theorie_list.append(len(listSong[index]))
index += len(listSong[index])
if listSong[index] == originalWordSaved:
theorie_list.append(listSong[index])
theorie_list.append(len(listSong[index]))
print("Theorie works")
break
except:
print("Theorie doesn't work")
break
return theorie_list
print(Parallelen(song))