habe im Internet gesucht, wie ich prüfen kann ob eine Variable bereits existiert oder nicht.
Bin auf folgende Lösung gestoßen:
Code: Alles auswählen
if "variable" not in locals():
variable = irgendwas
Code: Alles auswählen
if "variable" not in locals():
variable = irgendwas
Code: Alles auswählen
@staticmethod
def outside_coords(side, coords):
"""
gibt die Koordinaten der Aussenseiten der Figur zurück
"""
columns = sorted({column for row, column in coords})
if len(columns) == 1:
left_columns = right_columns = columns
if side == "left":
if "left_columns" not in locals():
left_columns = columns[:len(columns)//2]
left_coords = [(row, column) for row, column in coords
if column in left_columns
]
return left_coords
elif side == "right":
if "right_columns" not in locals():
right_columns = columns[len(columns)//2:]
right_coords = [(row, column) for row, column in coords
if column in right_columns
]
return right_coords
Code: Alles auswählen
@staticmethod
def outside_coords(side, coords):
"""
gibt die Koordinaten der Aussenseiten der Figur zurück
"""
columns = sorted({column for row, column in coords})
if len(columns) == 1:
left_columns = right_columns = columns
elif len(columns) > 1:
left_columns = columns[:len(columns)//2]
right_columns = columns[len(columns)//2:]
if side == "left":
left_coords = [(row, column) for row, column in coords
if column in left_columns
]
return left_coords
elif side == "right":
right_coords = [(row, column) for row, column in coords
if column in right_columns
]
return right_coords
Code: Alles auswählen
@staticmethod
def outside_coords(side, coords):
"""
gibt die Koordinaten der Aussenseiten der Figur zurück
"""
columns = sorted({column for row, column in coords})
if side == "left":
if len(columns) == 1:
left_columns = columns
elif len(columns) > 1:
left_columns = columns[:len(columns)//2]
left_coords = [(row, column) for row, column in coords
if column in left_columns
]
return left_coords
elif side == "right":
if len(columns) == 1:
right_columns = columns
elif len(columns) > 1:
right_columns = columns[len(columns)//2:]
right_coords = [(row, column) for row, column in coords
if column in right_columns
]
return right_coords
Code: Alles auswählen
@staticmethod
def outside_coords(side, coords):
"""
gibt die Koordinaten der Aussenseiten der Figur zurueck
"""
left_columns = right_columns = None
columns = sorted({column for row, column in coords})
if len(columns) == 1:
left_columns = right_columns = columns
if side == "left":
if not left_columns:
left_columns = columns[:len(columns)//2]
left_coords = [(row, column) for row, column in coords
if column in left_columns
]
return left_coords
elif side == "right":
if not right_columns:
right_columns = columns[len(columns)//2:]
right_coords = [(row, column) for row, column in coords
if column in right_columns
]
return right_coords
Code: Alles auswählen
@staticmethod
def outside_coords(side, coords):
"""
gibt die Koordinaten der Aussenseiten der Figur zurueck
"""
columns = sorted({column for row, column in coords})
if side == "left":
left_columns = (columns if len(columns) == 1 else
columns[:len(columns)//2]
)
left_coords = [(row, column) for row, column in coords
if column in left_columns
]
return left_coords
elif side == "right":
right_columns = (columns if len(columns) == 1 else
columns[len(columns)//2:]
)
right_coords = [(row, column) for row, column in coords
if column in right_columns
]
return right_coords
Code: Alles auswählen
@staticmethod
def outside_coords(side, coords):
"""
gibt die Koordinaten der linken oder rechten
Aussenseite der Figur zurueck
"""
columns = sorted({column for row, column in coords})
if len(columns) > 1:
columns = (columns[:len(columns)//2]
if side == "left" else
columns[len(columns)//2:]
)
side_coords = [(row, column) for row, column in coords
if column in columns
]
return side_coords