2012-06-10 69 views
1

我一直在研究python 3.2中的纸牌游戏,并且不确定如何实例化单独的玩家。游戏中可以有2名玩家到8名玩家。我想我可以用蛮力和有类似:如何实例化python3.2中未知数量的实例

players = int(input('how many players?:)) 
    if players ==2: 
     p1 = Player() 
     p2 = Player() 
    elif players ==3: 
     p1 = Player() 
     p2 = Player() 
     p3 = Player() 
    elif players ==4: 
     p1 = Player() 
     p2 = Player() 
     p3 = Player() 
     p4 = Player() 

等等

似乎很脏。有没有更好的方法来解决这个问题?

谢谢。

回答

1

使用列表和一个for循环:

players = int (input ('how many players?: ')) 
if not 2 <= players <= 8: 
    <raise an exception or something> 

p = [] 
for _ in range (players): 
    p.append (Player()) 

现在你有一个球员,你可以做你喜欢用一个列表。

+0

而这当然需要围绕第一行try/catch,如果用户放入了一些愚蠢的东西。其他各种输入检查总是被推荐的,但我猜这是一个有趣的类型的程序,所以你可能没有它。 – lxop