我有一本字典
{
'went': ['up', 'up'],
'water': ['spout'],
'all': ['the'],
'again': [],
'up': ['the', 'all', 'the'],
'spider': ['went', 'out', 'went']
}
...从文本文件(文件名)
创建基于这个字典,我必须创建指定长度的无限随机句子。它将从字典中的随机单词(一个键)开始,然后从其后面的单词列表中选择另一个随机单词,然后从第二个单词后面的单词列表中选择另一个随机单词,依此类推,直到它有所需的单词数。然后它将所有这些单词作为一个句子。
def sentence_generator(filename, length=10):
"""
Makes up random sentences based on that dictionary.
Parameters: a filename that refers to a text file to 'imitate',
a length that will be the number of words in the generated
sentence. If omitted the length will default to 10.
"""
random.seed(1) # set the seed for the random generator
my_dict1 = learn(filename)
while True:
for key, value in my_dict1.items():
my_list = my_dict1.values()
yield my_dict1[key]
random.choice(sorted(my_list))
我需要知道如何在函数中使用'length'。我不知道如何
答案 0 :(得分:0)
您正在尝试编写yield
个length
字的生成器。因此,您可以更改while
循环以计算生成的单词数,并在length
个单词后停止。