【问题标题】:How to choose a word of more than 5 letters?5个字母以上的单词怎么选?
【发布时间】:2015-08-26 14:16:34
【问题描述】:

我试图从单词列表中随机选择一个单词。 但是,由于单词列表(来自 file:///usr/share/dict/words;Mac OS)几乎包含每个单词,我希望忽略那些包含 5 个或更少字母的单词。

#Getting words from words.txt (retrieved from file:///usr/share/dict/words)
wordList = open(wordBank).readlines()
while True:
    wordChosen = random.choice(wordList)
    if len(wordchosen) > 5:
        break
    else:
        xxxxxxxx
print wordChosen

我应该如何编码“else”部分,它告诉计算机重新运行随机选择,直到找到超过 5 个字母的单词?是否可以使用 if-else 语句来执行?

【问题讨论】:

  • 所以你只是想选择一个词?

标签: python if-statement random controls


【解决方案1】:

您实际上不需要在 else 块中放置任何东西,并且可以安全地删除它。由于带有 True 条件的 while 循环,您的代码将一直运行,直到找到一个长度超过 5 个字符的单词,此时循环将中断(尽管它可能永远运行!)并且该单词将被打印。

【讨论】:

  • 天哪。我不知道我实际上不需要“else”语句>
【解决方案2】:

你不需要 else 语句!

while True:
    wordChosen = random.choice(wordList)
    if len(wordchosen) > 5:
        break

print wordChosen

【讨论】:

  • 天哪。我不知道我实际上不需要“else”语句>
【解决方案3】:

在您的 OP 帖子中,您说:我试图从单词列表中随机选择一个单词。如果我理解正确,您想随机选择一个单词,但前提是该单词至少有 5 个字符。

如果是这样,这是一种方法:

wordList = open(wordBank).readlines()
wordChosen = random.choice(wordList)
while len(wordChosen) < 5:
    continue
print (wordChosen)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-29
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多