社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何从Python前面随机选择的列表中插入相同的单词?

hot pineapple juice • 4 年前 • 664 次点击  

我正在为一个课程作业创建一个随机句子生成器。我已经把所有的事情都搞清楚了,但是在句子模板中有一个地方,我们必须使用它,我需要先随机选择一个单词,然后在字符串中重复随机选择的单词。这个问题是随机出现的。当我需要立即使用任何被选中的单词时,请选择(地点)。我怎样才能抓到随机选择的同一个单词并再次使用?

import random

verb = ["dancing", "driving", "running"]
place = ["rain", "forest", "city"]
adjective = ["heavy", "long", "hard"]

count = 1

while count > 0:

    generate = int(input('Press 1 to generate a new sentence or 2 to exit.\n'))

    if generate == 1:
        print('I like to go',random.choice(verb),'in the',random.choice(place),',but',place,'should not be too',random.choice(adjective),'.')
        count = 1

    else:
        print('Ok, Goodbye!')
        count = 0
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50942
 
664 次点击  
文章 [ 1 ]  |  最新文章 4 年前
lzbernardo
Reply   •   1 楼
lzbernardo    4 年前

简单的解决方案是使用一个变量来存储 random.choice(place) 在打印之前,请避免将其随机化两次。

if generate == 1:
        myplace = random.choice(place)
        print('I like to go',random.choice(verb),'in the',myplace,',but',myplace,'should not be too',random.choice(adjective),'.')
        count = 1

只是为了好玩,你也可以 format 替换字符串中的名称而不需要变量。

if generate == 1:
        print('I like to go {verb} in the {place}, but {place} should not be too {adjective}.'.format(verb=random.choice(verb),place=random.choice(place),adjective=random.choice(adjective))
        count = 1