我是堆叠溢出的新手,我想知道是否有人可以帮助我解决以下问题。如果你知道一个类似的问题已经回答了,请指出我。感谢:)
这是我创建函数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
答案 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)