用python生成随机语句

2024-04-28 08:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python和编程很陌生!

我需要写一个有4个元组,每个元组有5个元素的程序。一个元组应该有动词,一个元组应该有名词,一个元组应该有形容词,一个元组应该有副词。然后我必须使用0到4之间随机生成的数字从每个元组中选择一个元素。到目前为止,我所拥有的是:

import random

nouns = ("puppy", "car", "rabbit", "girl", "monkey")
verbs = ("runs", "hits", "jumps", "drives", "barfs") 
adv = ("crazily.", "dutifully.", "foolishly.", "merrily.", "occasionally.")
adj = ("adorable", "clueless", "dirty", "odd", "stupid")
num = random.randrange(0,5)
print (num)

有人能告诉我我做错了什么吗?


Tags: import程序元素编程动词数字randomnum
3条回答

您可以在列表理解中使用random.choice,然后将所选列表与join连接起来:

>>> l=[nouns,verbs,adj,adv]
>>> ' '.join([random.choice(i) for i in l])
'girl runs dirty crazily.'
>>> ' '.join([random.choice(i) for i in l])
'monkey hits clueless occasionally.'

如果要为每个tuple选择始终相同的索引,请尝试以下操作:

import random
idx = random.randrange(0, 5)
print ("%s %s %s %s"%(nouns[idx], verbs[idx], adv[idx], adj[idx]))

如果要为每个元组获取随机元素,应执行以下操作:

import random
print("%s %s %s %s"%(random.choice(nouns), random.choice(verbs), random.choice(adv), random.choice(adj))

最简单的理解方法:

import random

nouns = ("puppy", "car", "rabbit", "girl", "monkey")
verbs = ("runs", "hits", "jumps", "drives", "barfs") 
adv = ("crazily.", "dutifully.", "foolishly.", "merrily.", "occasionally.")
adj = ("adorable", "clueless", "dirty", "odd", "stupid")
num = random.randrange(0,5)
print nouns[num] + ' ' + verbs[num] + ' ' + adv[num] + ' ' + adj[num]

相关问题 更多 >