Ich habe einen komischen Fehler in Python: In der letzten Zeile wird ein Fehler angezeigt, wenn ich ein Spiel starte und es noch keine Hauptstadt gibt.
Code:
def onFirstContact(self, argsList):
'Contact'
iTeamX,iHasMetTeamY = argsList
### exotic illnesses beginn###
pTeamX = gc.getTeam(iTeamX)
pTeamY = gc.getTeam(iHasMetTeamY)
iLeaderX = pTeamX.getLeaderID()
iLeaderY = pTeamY.getLeaderID()
pPlayerX = gc.getPlayer(iLeaderX )
pPlayerY = gc.getPlayer(iLeaderY )
pCapitalX = pPlayerX.getCapitalCity ()
pCapitalY = pPlayerY.getCapitalCity ()
##für exotische Kontinente
if (pCapitalX != -1):
if (pCapitalY != -1):
if (pCapitalX.area().getID() != pCapitalY.area().getID()):
Der Fehler lautet: "None-Type"-Object has no attribute "getID()".
Die beiden Zeilen davor sollen in meiner Intention aber sicherstellen, dass der Code gar nicht ausgeführt wird, wenn eine der beiden Hauptstädte nicht existiert. Dann kann aber auch kein Fehler ausgegeben werden. Existieren die Hauptstädte, sollte es auch keine Fehler geben, da jede dann eine area und damit eine ID hat.
Also müssen die Zeilen davor falsch sein. Frage: Wie sage ich in Python: Wenn es keine Hauptstadt pCapitalX bzw. pCapitalY gibt, hör auf?