39 lines
956 B
Python
39 lines
956 B
Python
class Grid:
|
|
|
|
def __init__(self, n):
|
|
self.name = n
|
|
self.lines = []
|
|
|
|
def rows(self):
|
|
return len(self.lines)
|
|
|
|
def cols(self):
|
|
if self.lines == []:
|
|
return 0
|
|
else:
|
|
return len(self.lines[0])
|
|
|
|
def LoadFromFile(self, filename):
|
|
with open(filename, 'r') as f:
|
|
for line in f:
|
|
#print(f"{line.rstrip()} ({len(line.rstrip())})")
|
|
if not line.startswith('#'):
|
|
self.lines.append(list(line.rstrip()))
|
|
|
|
def Check(self):
|
|
for s in self.lines:
|
|
assert len(s) == self.cols()
|
|
|
|
def Print(self):
|
|
print(f"Grid: {self.name} "
|
|
f"(rows={self.rows()},"
|
|
f" cols={self.cols()})")
|
|
for s in self.lines:
|
|
print(f" {''.join(s)}")
|
|
|
|
if __name__ == "__main__":
|
|
grid = Grid("MY GRID")
|
|
|
|
grid.LoadFromFile("test")
|
|
grid.Check()
|
|
grid.Print() |