lis中的随机选择

2024-09-26 22:53:44 发布

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

我想从列表中随机选择一些东西,但是,如何使它在调用时不能再次选择?你知道吗

这是一个纸牌游戏,我想选择一个价值的西装显示在左上角和右下角,但只有一个价值,每卡的西装应该被选择

card_value = ['A', 'K', 'Q', 'J','10', '9', '8', '7', '6', '5', '4', '3', '2', '1']
card_value = choice(card_value)

我想选择一个价值的西装显示在左上角和右下角,但只有一个价值,每卡的西装应该被选择


Tags: 游戏列表valuecard价值choice纸牌西装
3条回答
import random

items = ['here', 'are', 'some', 'strings', 'of',
         'which', 'we', 'will', 'select', 'one']

rand_item = items[random.randrange(len(items))]

目前,代码无法执行任何操作,因为您正在重新分配值card_value

但是,您可以使用来自random的两个方法执行所需的输出

from random import choice, shuffle

choices = ['A', 'K', 'Q', 'J','10', '9', '8', '7', '6', '5', '4', '3', '2', '1']

shuffle(choices)

def pick_a_card(l):
    return l.pop()

card_value = pick_a_card(choices)
print(card_value)
card_value = pick_a_card(choices)
print(card_value)
print(choices)


# Or use choice and remove

def pick_a_card(l):
    card = choice(l)
    l.remove(card)
    return card

choices = ['A', 'K', 'Q', 'J','10', '9', '8', '7', '6', '5', '4', '3', '2', '1']


card_value = pick_a_card(choices)
print(card_value)
card_value = pick_a_card(choices)
print(card_value)
print(choices)

shuffle洗牌列表,您只需执行pop

choice取一个随机元素,然后您只需重新激活它

您可以使用内置的pythonrandom库它。你应该阅读documentation中关于选项的更多信息,在这里您可以给出选择选项的概率和更多特性

import random

card_value = ['A', 'K', 'Q', 'J','10', '9', '8', '7', '6', '5', '4', '3', '2', '1']
print(random.choice(card_value))

相关问题 更多 >

    热门问题