random.choice显示错误

时间:2017-08-11 02:31:39

标签: python-3.x

我是堆叠溢出的新手,我想知道是否有人可以帮助我解决以下问题。如果你知道一个类似的问题已经回答了,请指出我。感谢:)

这是我创建函数load_words()的代码,该函数从文件“words.txt”创建一个包含6个字母单词的列表。我希望random.choice()从列表中选择一个随机单词并将其保存为单词。但是,我收到以下错误。

    import random
    def load_words(filename, length):
        file = open(filename, "r")
        words = []
        for line in file:
            word = line.strip()
            if len(word)== length:
                words.append(word)
    return words
    word = random.choice(words)
    print (word)

我得到的错误是:

    Traceback (most recent call last):
    File "C:\Users\mssuk\Desktop\University\Software Engineering\Assignment\assignment 1 - word guessing game\compute_score.py", line 14, in <module>
    word = random.choice(words)
    NameError: name 'words' is not defined

1 个答案:

答案 0 :(得分:0)

这是一个缩进错误。将返回语句缩进4个空格,代码将起作用。

import random
def load_words(filename, length):
    file = open(filename, "r")
    words = []
    #Assuming there is only one word in a line
    for line in file:
        word = line.strip().lower()
        if len(word) == length:
            words.add(word)
    file.close()
    return words
word = random.choice(load_words(your_filename, your_length)
print(word)