对Python来说是新的,对StackOverflow来说更是新的。仍在努力找出提问和获得建设性反馈的最佳方式。如果我做错了什么或需要提供更多的信息,请让我知道
my_words = []
for i in range (0, 26):
def predict_more_words(first_word):
bimodel = build_bigram_model()
second_word = bimodel[first_word]
top10words = collections.Counter(second_word).most_common(10)
predicted_words = list(zip(*top10words))[0]
prob_score = list(zip(*top10words))[1]
x_pos = predicted_words
my_words.append(x_pos[0])
return(x_pos[0])
predict_more_words("is")
print(my_words)
我有上面的代码,我试图递归调用,这样每次 predict\u如果调用了更多的单词,它将在x\u pos[0]处获取单词并将其再次输入函数,直到它到达len 26。我将这些单词/字符存储到一个列表中,我将与我已经生成的另一个列表合并。它不接受x\u pos[0]作为参数,并给我一个nameError-未定义
感谢您的帮助!提前谢谢
我不认为这个函数需要递归,因为在这个问题中没有任何本质上的递归
您可以简化函数,使其只返回给定单词的最可能的预测单词。然后只需编写一个循环,根据需要多次调用该函数,在每一步将先前生成的字传递到预测函数中
例如:
相关问题 更多 >
编程相关推荐