2017-12-27 13 views
-1

Ich habe einen Scorekeeper gemacht und ich kann nicht herausfinden, wie man die Anzahl der Spielervariablen auf 0 setzt. Zum Beispiel, wenn es 3 Spieler gibt, dann muss ich 3 verschiedenen Variablen den Wert zuweisen 0. Ist das möglich? Wenn das so ist, wie? Wenn nicht, wie sonst könnte ich das tun?Python scorekeeping

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

Was Sie mit einem 'list' hindert? – RottenCandy

+0

Verwenden Sie eine 'liste', um Noten für alle Spieler zu speichern, z. B .:' scores = [0] * numPlayers'. Dann wird 'scores [0]' die Partitur des ersten Spielers sein, 'scores [1]' Partitur des 2. Spielers, ... – CristiFati

+0

Danke! Ich werde sehen, ob ich eine Liste verwenden kann –

Antwort

0

Verwenden Wörterbuch, wie folgt aus:

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

Vielleicht defaultdict Objekt aus Sammlungen wäre für diese Aufgabe noch besser passen:

from collections import defaultdict 

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

Ich werde auch Wörterbücher verwenden und sehen, welche besser funktioniert! –