代码之家  ›  专栏  ›  技术社区  ›  J.Doe

Python记分

  •  -1
  • J.Doe  · 技术社区  · 7 年前

    我一直在做记分员,但我不知道如何将球员变量的数量分配到0。例如,如果有3个玩家,那么我需要为3个不同的变量赋值0。这可能吗?如果是,如何?如果没有,我还能怎么做?

    while True:
        try:
            numPlayers = int(input("How many people are playing?"))
            if numPlayers == 0 or numPlayers == 1 or numPlayers > 23:
                print("You cannot play with less than 2 people or more than 23 
             people.")
    
            else:
                break
    
        except ValueError:
            print("Please enter an integer value.")
    
    for numTimes in range(0, numPlayers):
        #what should i do?
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   nndii    6 年前

    使用字典,如下所示:

    players = {'player-{}'.format(num): 0 for num in range(1, num_players + 1)}
    

    也许集合中的defaultdict更适合此任务:

    from collections import defaultdict
    
    players = defaultdict(int)
    players['Dirk']
    # Returns 0
    players['John'] += 1
    print(players)
    # Prints {'John': 1, 'Dirk': 0}