Hallo Ich habe einige Probleme mit dem Versuch, durch eine Liste von Klassen zu durchlaufen, um einen bestimmten Wert auszudrucken, der thet-Instanz dieser Klasse hält.Mein Programm kompiliert aber es druckt nichts aus, ich habe auch versucht, "player.player in playerlist" in der for loop zu haben, aber ich habe auch das gleiche Ergebnis bekommen. Jede Hilfe würde sehr geschätzt werden.Python durchläuft eine Liste von Klassenobjekten und extrahiert einen Wert
Meine Hauptfunktion
class main:
if __name__ == '__main__':
while True:
print("Please Select An Option Below:")
print("1 - Create Player:")
print("2 - List Players:")
print("3 - Create Team:")
print("4 - Sell Player:")
print("5 - Buy Player:")
x = raw_input("Please select a option: \n")
playerList = []
if(x == '1'):
import Player
p1 = Player.player()
pname = raw_input("Please Enter A Player Name \n")
page = raw_input("Please Enter A Player Age \n")
pwage = raw_input("Please Enter A Player Wage \n")
pteam = raw_input("Please Enter A Player Team \n")
p1.pname = pname
p1.page = page
p1.pwage = pwage
p1.pteam = pteam
playerList.append(p1)
continue
if(x == '2'):
for p1 in playerList:
print(p1.pname)
continue
Meine Spielerklasse
class player(object):
@property
def pname(self):
return self.pname
@pname.setter
def pname (self, value):
pass
@property
def page(self):
return self.page
@page.setter
def page (self, value):
pass
@property
def pwage(self):
return self.pwage
@pwage.setter
def pwage(self, value):
pass
@property
def pteam(self):
return self.pteam
@pteam.setter
def pteam(self, value):
pass
---- ----- Update
class main:
if __name__ == '__main__':
while True:
print("Please Select An Option Below:")
print("1 - Create Player:")
print("2 - List Players:")
print("3 - Create Team:")
print("4 - Sell Player:")
print("5 - Buy Player:")
x = raw_input("Please select a option: \n")
playerList = []
if(x == '1'):
import Player
nplayer = Player.player()
nplayer.set_name(raw_input("test\n"))
playerList.append(nplayer)
continue
if(x == '2'):
for player in playerList:
print(player.get_name)
continue
class player(object):
__name = ""
@property
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
Bitte korrigieren Sie Ihre Einrückung. Weil es scheint, dass Sie nichts im globalen Bereich ausführen, weil 'class main:' –
Ihre Setter sind leer. Ist das normal? –
Jedes Mal, wenn Sie Ihr Menü anzeigen, initialisieren Sie playerList auf eine leere Liste. Du wirfst daher alle hinzugefügten Spieler ab, bevor du sie möglicherweise ausdrucken kannst. – jasonharper