0
这里是类:类分布错误
class Player:
#variables
hand = []
name = 'Test Player'
#functions
def take(self, card): #allows player to take a card
self.hand.append(card)
def __str__(self):
msg = self.name
if len(self.hand) > 0:
msg = msg + "\nIn hand:"
for card in self.hand:
msg = msg + ' ' + card.short_name
return msg
这里是功能:
def deal(players):
deck = Deck.generate_deck()
if len(players) <= 4:
for player in players:
for cards in range (0, 7):
card = random.choice(deck)
player.take(card)
deck.remove(card)
else:
for player in players:
for cards in range (0, 5):
card = random.choice(deck)
player.take(card)
deck.remove(card)
return deck
这是问题所在。当我打电话给五名球员发牌时,这就是我得到的。
Player 1
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C
25
Player 2
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C
25
Player 3
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C
25
Player 4
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C
25
Player 5
In hand: JC 2H KD 8H QD KH AS 10S QC 10H AH 6S JD 4H 5S 4S 9C 3C QH 9S AD 6D 8S 10C 7C
25
p.s.之后的数字是我的测试代码中的一个小调试事件,并没有任何影响。
可能重复:(http://stackoverflow.com/questions/1132941
在
__init__
方法每个玩家创建一个新的列表/最小惊讶合蟒最易变的默认参数的) – bernie 2013-02-08 20:03:20