获取一个返回随机英语单词(最好是名词)的函数的最佳方法是什么,而不保留文件中所有可能单词的列表?
答案 0 :(得分:21)
Word列表不需要占用太多空间。
这是一个JSON wordlist with over 5000 words, all nouns。它的时钟频率低于50K,即中等大小的jpeg图像。
我会选择一个随机的作为读者的练习。
答案 1 :(得分:10)
你做不到。没有算法来生成有意义的单词。你只能生成听起来像英语的单词,但它们没有任何意义。
答案 2 :(得分:4)
您可以使用该函数尝试并解析在线资源,例如:
答案 3 :(得分:3)
另一种理论方法:你可以抓取random wikipedia article页面并返回文章的第N个单词。
答案 4 :(得分:2)
只需使用setgetgo的随机单词api即可。它是免费的,很简单,而且它很棒。
答案 5 :(得分:1)
有一个随机单词生成器here - 它不是英语,但它是英语,即单词与语言相似,用户可以阅读单词并将其存储在短期记忆中。
源代码在C#中有点用,但你可以在Python中使用类似的方法来生成大量的单词,而不必存储大量的列表。
或者,您可以直接在演示页面上调用Web服务 - 它虽然托管在GoDaddy上,但不能保证它在生产中有效!
答案 6 :(得分:1)
您可以从http://www.math.toronto.edu/jjchew/scrabble/lists/下载“SOWPODS和TWL共有的词汇”列表。我将这些文件中的所有单词放在一起,列表的重量大约为642k。任何标准都不是很大。这些列表确实包含了许多晦涩难懂的单词,因为它们是用于锦标赛拼字游戏的。好消息是这些列表构成了英语的重要组成部分。
答案 7 :(得分:0)
嗯,你有三个选择:
避免上述情况的唯一方法是,如果你不关心这个词是否真实:你可以只生成随机长度的字符串。 (如果没有字典列表,就无法以编程方式生成单词。)