【发布时间】:2020-11-27 06:25:46
【问题描述】:
我正在开发这个纸牌游戏,在下面的代码中,我试图从 52 张纸牌中提取 2 组 N 张纸牌。第一个列表是玩家的“已知牌”,它们应该是洗牌后的前 N 张牌,然后第二个列表是“未知”牌,它们应该是相同数量的 N。
def shuffle_deck():
shuffled_list = random.sample(create_deck(), 52)
return shuffled_list
def draw_card(N, card_list):
list_N = []
for i in range(N):
extract = card_list.pop(0)
list_N.append(extract)
return tuple([list_N, card_list])
print(draw_card(2, shuffled_list()))
使用上面的代码,我得到了 2 个这样的列表:
([<__main__.Cartas object at 0x0364D520>, <__main__.Cartas object at 0x0364D040>], [<__main__.Cartas object at 0x0352DFE8>, <__main__.Cartas object at 0x0364D340>... and so on until the card object #52])
如何使第二个列表的大小/长度与“N”相同? 例如,如果 N = 4 结果应该是 2 个列表,每个列表有 4 张卡片:
([<__main__.Cartas object at 0x0364D520>, <__main__.Cartas object at 0x0364D040>, <__main__.Cartas object at 0x0352DFE8>, <__main__.Cartas object at 0x0364D340>], [<__main__.Cartas object at 0x0364D520>, <__main__.Cartas object at 0x0364D040>, <__main__.Cartas object at 0x0352DFE8>, <__main__.Cartas object at 0x0364D340>])
【问题讨论】:
-
用另一个变量名重复“list_N”的代码。
-
我还建议实现 repr 或 str 以便调试输出更具可读性。
-
谢谢@MichaelButscher :)
标签: python python-3.x