def sentence_generator(filename, length=10):
random.seed(1) # Set the seed for the random generator - do not remove
my_tuple1 = learn(filename)
sorted_word_list = sorted(my_tuple1[1])
i = 0
while True:
word = random.choice(sorted_word_list)
word1 = ""
for i in range(length):
word1 = word1 + " " + str(word)
next_word = my_tuple1[1].get(word) # Returns None if not found
if not next_word:
next_word = my_tuple1[0] # Fallback to '' if not found
word = random.choice(next_word)
i = i + 1
yield word1
所以这是我到目前为止的代码,我试图创建一个随机句子生成器,它接受字典的键(这是一个单词),然后下一个单词将是该键的值。然后循环不断重复。学习返回一个元组(单词,字典)。如果密钥没有值,将使用该字。此外,参数(默认为10)表示句子应该多长时间,因此for循环。我只是需要一点帮助才能进入创建发电机的正确方向,因为我有点迷失了。