2016-04-14 11 views
0

Ich versuche, ein einfaches RPG-Spiel zu machen. Ich habe eine Liste von Leuten, die im Spiel sein werden, und möchte für jeden von ihnen einen Charakter erstellen.Erstelle Instanz der Klasse aus der Liste (Python 2.7)

people = ['Mike','Tom'] 
class Character(object): 
    def __init__(self,name): 
     self.name = name 
     self.health = '100' 

for x in people: 
    [x] = Character(x) # This is where I don't know what to do/if it's possible 

So kann ich

for x in people: 
    print ("%s: %s health" % (people[x].name, people[x].health)) 

Ist so etwas möglich ein Zeichen leicht wie nennen kann, oder bin ich über dieses falsch gehen? Ich habe über How do I create a variable number of variables? gelesen, aber es schien, als wären Wörterbücher die ultimative Lösung für ihr Problem, und ich habe keine Ahnung, wie das in dieser Situation funktionieren würde.

+1

Mögliche Duplikat [? Wie kann ich in Python Variable Variablen tun] (http://stackoverflow.com/questions/1373164/how- do-i-do-Variable-Variablen-in-Python) – jonrsharpe

Antwort

1

Es sieht so aus, als ob Sie nur eine Liste mit Zeichenobjekten behalten möchten. Sie müssen nicht auf people verweisen, sobald Sie das haben.

characters = [Character(person) for person in people] 

Dann werden die Charakterwerte drucken:

for c in characters: 
    print ("%s: %s health" % (c.name, c.health)) 
Verwandte Themen