【问题标题】:How to instantiate an unknown number of instances in python3.2如何在python3.2中实例化未知数量的实例
【发布时间】:2012-06-10 06:17:15
【问题描述】:

我一直在使用 python 3.2 开发纸牌游戏,但不确定如何实例化单独的玩家。游戏可以有 2 到 8 名玩家。我在想我可以使用蛮力并有类似的东西:

   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()

等等……

这看起来很脏。有没有更清洁的方法来解决这个问题?

谢谢。

【问题讨论】:

    标签: class instantiation instances python-3.2


    【解决方案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())
    

    现在您有了一个可以随心所欲的球员列表。

    【讨论】:

    • 如果用户放入一些愚蠢的东西,这当然需要在第一行周围尝试/捕捉。并且总是建议进行各种其他输入检查,尽管我猜这是一个有趣的程序类型,所以你可能没有它也可以生活。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多