【发布时间】:2015-09-22 00:32:36
【问题描述】:
我的 Python 技能非常基础,这就是为什么你要经历一个可怕的烂摊子。
基本上,我想使用文本文件来制作单词列表。每个文件都有自己的单词类型(名词、动词等)。然后我想从该列表中随机挑选单词并将它们填充到随机句子模板中的适当位置,有点像 Mad Libs。我的问题是当我尝试将所有内容都放入一个循环中时。我每次都得到一个随机模板,但我不知道如何让随机选择的单词每次都发生变化。
这是读取文件并将其内容添加到列表中的函数,似乎工作正常。
def get_Noun():
infile = open('Noun.txt', 'r')
nouns = infile.readlines()
infile.close()
index = 0
while index < len(nouns):
nouns[index] = nouns[index].rstrip('\n')
index += 1
Noun = random.choice(nouns)
return Noun
接下来是我的两个句子模板的函数和一个随机选择其中一个的函数:
Noun = get_Noun()
Noun2 = get_Noun()
def Cake():
get_Noun()
print("The", Noun, "is a", Noun2)
def XistheNew():
get_Noun()
print(Noun, "is the new", Noun2)
def get_Sentence():
num = random.randrange(1, 3)
if num == 1:
Cake()
elif num == 2:
XistheNew()
最后,我有一个控制整个事情的循环。我想过把它放到另一个“主要”功能中,但这似乎并没有什么不同。
while sp == '':
get_Sentence()
sp = input('')
我想要发生的是每次我按回车时都会弹出一个带有全新单词的新句子。
如果我运行循环四次,这是一个输出示例:
牦牛是新青蛙
牦牛是新青蛙
牦牛是青蛙
牦牛是新青蛙
选择的句子似乎是随机的,但单词并没有改变。我怎样才能解决这个问题?我知道我的代码非常混乱而且有点白痴,但我计划在我能让这件事正常工作时修复它。我真的很感激任何帮助。就像我说的那样,我是一个完全的菜鸟,所以如果可能的话,我们很感激简单的答案。
【问题讨论】: