【问题标题】:how to generate word from a to z [closed]如何从a到z生成单词[关闭]
【发布时间】:2012-10-12 10:55:46
【问题描述】:

是否可以创建一个从 a 到 z 生成单词的方法?因为我只知道随机生成词,但我想要的是一个使用 python 代码存在的词

这是我的随机生成字代码:

import random
wordLen = random.randint(1, 5)
def get_random_word(wordLen):
    word = ''

    for i in range(wordLen):
        word += random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
    print(word)
    return word
get_random_word(wordLen)

或者如果我有一个像示例列表 = ['a','t','n','s','d','e','x'] 的字母列表,那么我有可能吗?想从这个列表中生成真实的单词??

【问题讨论】:

  • 您需要访问有效单词列表才能执行此操作。
  • 我不确定我是否理解您想要实现的目标。我认为您的代码将创建一个随机字符串。你想让它选择真实的单词吗?如果是这样,您可能需要使用单词列表,而不是逐字母创建字符串。
  • 好的,但是如果我有一个字母列表,比如 example list= ['a','t','n','s','d','e',' x'],那么我想从这个列表中生成真实的单词??

标签: python python-3.x


【解决方案1】:

你的意思是这样的吗? (未经测试)

from collections import defaultdict
from string import ascii_lowercase
from random import choice

words = defaultdict(list)
with open('/usr/share/dict/words') as fin:
    for word in fin:
        if len(word) == 5: 
            words.append(word)

for letter in ascii_lowercase:
    print letter, 'is for', choice(words[letter])

如果您不在具有/usr/share/dict/words 的系统上(或者您想要更全面的列表),那么http://www.findthatzip.com/search-10655738-hZIP/winrar-winzip-download-ukacd16.zip.htm 也可以。

【讨论】:

  • 嘿,它说 FileNotFoundError: [Errno 2] No such file or directory: '/usr/share/dict/words',然后我下载了你放链接的文件,但是目录应该如何我变了吗?
【解决方案2】:

您可能需要一个可供选择的单词列表...从前我需要一个单词,然后我在 Google 上搜索了类似英语词典 txt 之类的内容...找到了一些并保留了对我来说最好的内容

那么显然你会弄清楚你将如何管理你的列表......不经常使用只是从磁盘读取,也许存储文件开头的行数,这样你就可以选择一个数字并只读取只要你需要......或者将它们存储在内存中以供经常使用,可能是一个数组

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2013-11-03
    • 2011-05-21
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    相关资源
    最近更新 更多