Python随机造句:使用列表和随机数生成句子
import random
lst_who = ['horse', 'lamb', 'deer']
lst_what = ['watch a movie', 'listen to a story', 'have dinner']
lst_where = ['on the grass', 'in the cinema', 'at home']
# 输入种子作为随机数生成器的种子
seed_input = input().strip()
# 将输入的种子转换为整数列表
seed = [int(x) for x in seed_input[1:-1].split(', ')]
# 使用输入的种子设置随机数生成器的种子
random.seed(seed)
# 通过随机生成三个整数在闭区间[0, 2]范围内,作为索引访问三个列表,并拼接成句子
sentence = lst_who[random.randint(0, 2)] + ' ' + lst_what[random.randint(0, 2)] + ' ' + lst_where[random.randint(0, 2)]
# 输出句子
print(sentence)
这段代码演示了如何使用Python生成随机句子。它首先定义了三个列表,分别存储了主语、谓语和地点状语。然后,代码接收用户输入的种子,并使用该种子初始化随机数生成器。最后,代码使用random.randint()函数生成三个随机整数,作为索引从三个列表中随机选择元素,并将这些元素拼接成一个句子输出。
代码解释:
import random: 导入random模块,该模块提供了生成随机数的函数。lst_who,lst_what,lst_where: 定义三个列表,分别存储句子中的不同部分。seed_input = input().strip(): 从用户获取输入,并去除首尾空格。seed = [int(x) for x in seed_input[1:-1].split(', ')]: 将用户输入的字符串转换为整数列表。random.seed(seed): 使用用户提供的种子初始化随机数生成器。random.randint(0, 2): 生成一个介于0和2之间的随机整数(包含0和2)。sentence = ...: 使用随机生成的索引从三个列表中选择元素,并将它们拼接成一个句子。print(sentence): 将生成的句子打印到控制台。
示例:
如果用户输入[24, 85, 8788]作为种子,代码可能会输出deer watch a movie at home。
注意:
由于使用了随机数生成器,每次运行代码时,即使使用相同的种子,也可能会生成不同的句子。
原文地址: https://www.cveoy.top/t/topic/cl1m 著作权归作者所有。请勿转载和采集!