2017-12-27 201 views
-1

我一直在做一個記分員,我不知道如何分配玩家的變量數量爲0.例如,如果有3名玩家,那麼我需要分配3個不同的變量值這可能嗎?如果是這樣,怎麼樣?如果不是,我還能怎麼做?Python記分

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? 
+0

是什麼阻止你使用了'list'? – RottenCandy

+0

使用'list'存儲所有玩家的分數,例如:'scores = [0] * numPlayers'。然後'分數[0]'將成爲第一名球員的得分,'得分[1]'第二名球員的得分...... – CristiFati

+0

謝謝!我會看看我是否可以使用列表 –

回答

0

使用字典,像這樣:

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} 
+0

我也會利用字典,看看哪個更好! –