我的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('')
我想要發生的是一個新的句子,每次按下回車鍵都會彈出一個全新的單詞。
這是輸出的一個例子,如果我運行循環四次:
犛牛是新的青蛙
犛牛是新的青蛙
犛牛是一隻青蛙
犛牛是新來的蛤蟆
的senten選擇的ce似乎是隨機的,但這些詞不會改變。我怎樣才能解決這個問題?我知道我的代碼非常混亂而且有些愚蠢,但是我一旦能夠讓這件事情起作用,我就打算修復它。我非常感謝任何幫助。就像我說的,我是一個完整的小菜,如果可能的話,這麼簡單的答案是值得讚賞的。