Python中的随机词生成器

问题描述 投票:0回答:1

我编写了以下代码,尝试从在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)
python random word generate
1个回答
0
投票

这是由于您的while循环初始化为空,因此大小为0。您声明在那里的generate函数仅定义了该函数,除非您调用它,否则它不会执行。因此,如果您打算在启动循环之前调用generate,则可以在while循环之前调用一次。

© www.soinside.com 2019 - 2024. All rights reserved.