Python只使用random/choice输出一次字符串

 J136271692 发布于 2023-02-02 19:33

我正在尝试在Python中创建一个小程序,从列表中选择一个随机字符串并打印字符串.但通常程序会选择相同的字符串两次.

有没有办法确保每个字符串只输出一次?

我的代码到目前为止:

from random import choice
food = ['apple', 'banana', 'strawberry', 'blueberry', 'orange']
print 'You should eat today :' + choice(food)
print 'You should eat tomorrow :' + choice(food)

Steinar Lima.. 5

如果您之后不关心列表的排序,您可以先将列表重新排序,然后迭代它.

import random
food = ['apple', 'banana', 'strawberry', 'blueberry', 'orange']
random.shuffle(food)

for f in food:
    print f

如果你不需要立即使用所有这些,你应该只在需要时弹出一个项目(这将耗尽列表).

import random
food = ['apple', 'banana', 'strawberry', 'blueberry', 'orange']
random.shuffle(food)

try:
    print food.pop()
except IndexError:
    print "No more food left!"

# ....
# some more code
# I'm hungry!

try:
    print food.pop()
except IndexError:
    print "No more food left!"

# etc.

尝试...除了需要处理你想要从空列表中获取一些食物的情况.

1 个回答
  • 如果您之后不关心列表的排序,您可以先将列表重新排序,然后迭代它.

    import random
    food = ['apple', 'banana', 'strawberry', 'blueberry', 'orange']
    random.shuffle(food)
    
    for f in food:
        print f
    

    如果你不需要立即使用所有这些,你应该只在需要时弹出一个项目(这将耗尽列表).

    import random
    food = ['apple', 'banana', 'strawberry', 'blueberry', 'orange']
    random.shuffle(food)
    
    try:
        print food.pop()
    except IndexError:
        print "No more food left!"
    
    # ....
    # some more code
    # I'm hungry!
    
    try:
        print food.pop()
    except IndexError:
        print "No more food left!"
    
    # etc.
    

    尝试...除了需要处理你想要从空列表中获取一些食物的情况.

    2023-02-02 19:36 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有