我编写了以下代码,尝试从在Linux机器上找到的brisih-english文本文件中生成三个或三个以上字母的随机词。我已将文件复制到与.py文件相同的目录中。当我在终端中运行该程序时,没有任何输出,但是该程序似乎无限运行。我仍然是一个初学者,但这看起来像一个简单的程序,我想知道自己可能会缺少什么。我已经运行了一些测试以打印列表的不同元素,以确保可以访问这些单词,效果很好。
import random
#list contains 101,825 elements
dict = open("british-english")
word_list = dict.readlines()
prompt = ""
def generate():
global dict
i = random.randint(0, 101824)
prompt = word_list[i]
return prompt
while len(prompt) < 3:
generate()
print(prompt)
这是由于您的while循环初始化为空,因此大小为0。您声明在那里的generate函数仅定义了该函数,除非您调用它,否则它不会执行。因此,如果您打算在启动循环之前调用generate,则可以在while循环之前调用一次。