python - 列表中的随机选择
问题描述
我想从列表中随机选择一些东西,但是,我怎么做才能让它在被调用时无法再次选择?
这对于纸牌游戏,我想选择一个花色值显示在左上角和右下角,但该花色的每张牌只能选择一个值
card_value = ['A', 'K', 'Q', 'J','10', '9', '8', '7', '6', '5', '4', '3', '2', '1']
card_value = choice(card_value)
我想选择一个花色值显示在左上角和右下角,但该花色的每张牌只能选择一个值
解决方案
目前,您的代码在重新分配值时无法执行任何操作card_value
但是,您可以使用随机的两种方法执行所需的输出
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
需要一个随机元素,然后你只需要重新处理它
推荐阅读
- c# - 重构对泛型方法的重复调用
- android - 我无法在 Play 商店中安装已发布的应用
- python - OTRS ITSMChange API 服务
- rest - 具有多个 ID 的资源的 REST 路径设计
- sql - 统计过去 12 个月内提交过罚单的所有人数 每月分组
- javascript - 如何使用 jquery 将数据添加到 html 表中?
- proguard - proguard IllegalArgumentException
- mysql - MySQL:使用计算的计数器列作为子查询的键
- android - 将对象参数传递给扩展的 AsyncTask 类
- html - 为多个文件上传创建图标