我正在学习Python。我正在构建一个刽子手应用程序,我让用户选择单词中的字母数量。
我有一个名为Three
,Four
,Five
的数组,以及这些数组中相应长度的单词。我想让每个数组都成为自己的文件,所以主脚本并不那么麻烦。
然后我希望能够在用户指出他们想要的字母数量后,使用random.randint
从其中一个数组中选择一个单词。有一个简单的方法吗?
答案 0 :(得分:2)
要访问文件,您需要open
命令。
例如,要打开名为 three.dat 的 read 文件,您可以这样做:
with open("three.dat") as f:
# do stuff
with
设置文件句柄的范围,这样您就不需要显式关闭它。当f
超出范围时,文件将自动关闭。
有关open
的更多信息:
https://docs.python.org/2/library/functions.html#open
如果您只有相对较少的单词数量(例如十几个)适合每个存储桶,那么将它们硬编码到dict
list
中可能是最佳/最可行的s,其中键是转换为字符串的长度。
即。形式的东西:
word_dict = {'3': ['and', 'cat', 'dog', 'not'],
'4': ['four', 'moth'],
'5': ['batch', 'match']
}
但是,如果你想拥有一个完整字典的单词,那么硬编码方法是不可行的(尽管将它们分成单独的文件也是乏味的)。
最终,随着您学习 Python 的进展,您可能希望研究类似的内容并将其调整到您的程序中:
答案 1 :(得分:2)
首先,请确保您的所有python文件都在同一个文件夹中。
完成此操作后,您可以简单地执行from name_of_word_file import name_of_word_list
您可以为每个文件创建其中一行,但我认为将所有单词列表简单地放入一个文件,然后导入特定的单词列表变量会更容易。
至于从列表中选择一个单词,random.choice可以从列表中随机选择和元素
from random import choice
from words import four_letter_words
print choice(four_letter_words)
使用列表并导入它们可以正常工作,但我建议您考虑将单词列表等文本保存到文本文件中,就像Ken在答案中提到的那样。