提问人:Brown Bakani 提问时间:1/27/2023 更新时间:1/27/2023 访问量:40
如何在 python 中使用列表和 for 循环对列表进行随机排序并记录不同的排列方式?
How can I shuffle a list and keep record of the different arrangements using lists and for loops in python?
问:
我想在每个循环中使用 random.shuffle() 洗牌 3 张牌,并将新排列添加到我的洗牌列表中。
import random
cards =["Jack","Queen","King"]
#random.shuffle(cards)
Shuffles =[]
for i in range(4):
random.shuffle(cards)
Shuffles.append(cards)
print(Shuffles)
相反,我得到的是一个包含最新洗牌的嵌套列表。每次顺序更改时,Shuffles 上添加的所有列表都会以某种方式更新为新的安排。 我应该怎么做才能跟踪嵌套列表中的所有不同排列?在此处输入图片描述
答:
0赞
ilou
1/27/2023
#1
当您说 Shuffles.append(cards) 时,它会添加变量 cards,即您在开头定义的变量。你应该这样做:
import random
cards =["Jack","Queen","King"]
#random.shuffle(cards)
Shuffles =[]
for i in range(4):
new_card_arrangement = random.shuffle(cards)
Shuffles.append(new_card_arrengement)
print(Shuffles)
我希望它能帮助你,再见!
评论
0赞
Brown Bakani
1/27/2023
我尝试了类似的方法,但出现未定义“new_card_arrangement”的错误。
0赞
ilou
1/27/2023
@BrownBakani 我第二次写错了安排,但我认为如果你更正,它会起作用
评论