[英]Checking List for same numbers
这是我的代码:
def generate_cards(self):
self.player1_cards = [
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91), ''],
[random.randint(1, 91), random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91)],
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91),
'', random.randint(1, 91), '', random.randint(1, 91)]
]
self.player2_cards = [
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91), ''],
[random.randint(1, 91), random.randint(1, 91), '', random.randint(1, 91), '',
random.randint(1, 91), '', random.randint(1, 91), random.randint(1, 91)],
[random.randint(1, 91), '', random.randint(1, 91), '', random.randint(1, 91),
'', random.randint(1, 91), '', random.randint(1, 91)]
]
for i in range(0, 3):
ordered = iter(sorted(x for x in self.player1_cards[i] if x != ''))
self.player1_cards[i] = [
next(ordered) if x != '' else '' for x in self.player1_cards[i]]
for j in range(0, 3):
ordered1 = iter(
sorted(x for x in self.player2_cards[j] if x != ''))
self.player2_cards[j] = [
next(ordered1) if x != '' else '' for x in self.player2_cards[j]]
print("Player1:\n", self.player1_cards,
"\nPlayer 2:\n", self.player2_cards)
在此代码中,我为每个玩家生成 2 张卡片并对其进行排序。 但是,如果生成的数字只使用了 1 次,我必须检查卡的行。 我的意思是如果 player1_cards 中有 9 个,则这张卡中不再有 9 个。
def generate_cards():
deck = list(range(1, 91))
random.shuffle(deck)
player1_cards = [deck.pop() for _ in range(9)]
player2_cards = [deck.pop() for _ in range(9)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.