我試圖在聖經風格中生成一個句子。但是每當我運行它時,它都會停在一個KeyError上。這是令人困惑的,因爲它只使用自己的密鑰,並且每次發生錯誤時都是同一個單詞,儘管有random.choice。同一個單詞上的KeyError
這是txt文件,如果你想運行它:ftp://ftp.cs.princeton.edu/pub/cs226/textfiles/bible.txt
import random
files = []
content = ""
output = ""
words = {}
files = ["bible.txt"]
sentence_length = 200
for file in files:
file = open(file)
content = content + " " + file.read()
content = content.split(" ")
for i in range(100): # I didn't want to go through every word in the bible, so I'm just going through 100 words
words[content[i]] = []
words[content[i]].append(content[i+1])
word = random.choice(list(words.keys()))
output = output + word
for i in range(int(sentence_length)):
word = random.choice(words[word])
output = output + word
print(output)
錯誤的確切文字是什麼? –
Midst是你的字典中的一個值,而不是一個關鍵字。 –
如果將範圍增加到200,它會自行解決,但它會陷入循環並反覆打印相同的東西。您可能需要重新編寫此代碼以避免出現此問題。請嘗試將範圍增加至200並查看。 –