gpt4 book ai didi

python - 如何在Python中保持随机生成的矩阵常数?

转载 作者:行者123 更新时间:2023-11-30 22:00:30 27 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我创建了一个矩阵,其中包含从一副牌中随机生成的值:

ranks = ['A',2,3,4,5,6,7,8,9,10,'J','Q','K']
suits = ['♠', '♥', '♣', '♦']

deck = []

for rank in ranks:
for suit in suits:
card = str(rank) + suit
deck.append(card)

random.shuffle(deck)

matrix = [[[random.choice(deck), '🂮'] for i in range(13)]for j in range(4)]

并且想要添加一个方法,通过仅返回卡的值来返回“翻转”卡:

def get_card(row, col):
print(matrix[row][col][0])

如何更改此代码以使矩阵中创建的值保持不变?每次我调用 get_card(1,2) 时,它都会返回一个不同的随机生成值。

再次,如果这是一个愚蠢的问题,我们深表歉意,并提前感谢您的任何帮助或建议。

最佳答案

只要不重新创建,矩阵就保持不变。请参阅下面的示例:

import random

matrix = None

def create_deck():
ranks = ['A',2,3,4,5,6,7,8,9,10,'J','Q','K']
suits = ['♠', '♥', '♣', '♦']

deck = []

for rank in ranks:
for suit in suits:
card = str(rank) + suit
deck.append(card)

random.shuffle(deck)

global matrix
matrix = [[[random.choice(deck), '🂮'] for i in range(13)]for j in range(4)]


def get_card(row, col):
print(matrix[row][col][0])


# First deck, get_card returns the same value
create_deck()
for _ in range(5):
get_card(1,2)

# Create new deck, get_card returns the same value, but not the same as before
create_deck()
for _ in range(5):
get_card(1,2)

输出(在我的运行中,你将拥有不同的牌,但模式相同):

J♥
J♥
J♥
J♥
J♥
5♠
5♠
5♠
5♠
5♠

关于python - 如何在Python中保持随机生成的矩阵常数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54304201/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com