在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)

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

原文由 Ashley Glover 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

最简单的理解方式:

 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]

原文由 Avión 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以在列表理解中使用 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.'

原文由 Mazdak 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题