#!/usr/bin/env python3
from sys import argv, stdout
class _BigChar:
def __getRowCount(self):
return len(self.__char)
def __getColCount(self):
return len(self.__char[0])
RowCount = property(__getRowCount)
ColCount = property(__getColCount)
def __init__(self, char):
self.__fill(char)
def __fill(self, char):
self.__char = char
def getRow(self, rowIndex):
return self.__char[rowIndex]
class BigA(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" A ",
" A A ",
"A A",
"A A",
"AAAAA",
"A A",
"A A",
"A A"])
class BigB(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["BBB ",
"B B ",
"B B",
"B B ",
"BBBB ",
"B B",
"B B",
"BBBB "])
class BigC(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" CCC ",
"C C",
"C C",
"C ",
"C ",
"C C",
"C C",
" CCC "])
class BigD(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["DD ",
"D D ",
"D D ",
"D D",
"D D",
"D D ",
"D D ",
"DD "])
class BigE(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["EEEEE",
"E ",
"E ",
"EEEEE",
"E ",
"E ",
"E ",
"EEEEE"])
class BigF(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["FFFFF",
"F ",
"F ",
"FFFFF",
"F ",
"F ",
"F ",
"F "])
class BigG(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" GGG ",
"G G",
"G ",
"G ",
"G GG",
"G G",
"G G",
" GGG "])
class BigH(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["H H",
"H H",
"H H",
"HHHHH",
"H H",
"H H",
"H H",
"H H"])
class BigI(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["IIIII",
" I ",
" I ",
" I ",
" I ",
" I ",
" I ",
"IIIII"])
class BigJ(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["JJJJJ",
" J",
" J",
" J",
" J",
" J",
"J J",
" JJJ "])
class BigK(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["K K",
"K K ",
"K K ",
"K K ",
"K K ",
"K K ",
"K K",
"K K"])
class BigL(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["L ",
"L ",
"L ",
"L ",
"L ",
"L ",
"L ",
"LLLLL"])
class BigM(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["M M",
"MM MM",
"M M M",
"M M",
"M M",
"M M",
"M M",
"M M"])
class BigN(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["N N",
"NN N",
"N N N",
"N N N",
"N N N",
"N NN",
"N NN",
"N N"])
class BigÑ(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["ÑÑÑÑÑ",
" ",
"Ñ Ñ",
"ÑÑ Ñ",
"Ñ Ñ Ñ",
"Ñ Ñ Ñ",
"Ñ ÑÑ",
"Ñ Ñ"])
class BigO(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" OOO ",
"O O",
"O O",
"O O",
"O O",
"O O",
"O O",
" OOO "])
class BigP(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" PPP ",
"P P",
"P P",
"P PP ",
"P ",
"P ",
"P ",
"P "])
class BigQ(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" Q ",
" Q Q ",
"Q Q",
"Q Q",
"Q Q Q",
" Q Q ",
" Q Q",
" Q"])
class BigR(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" RR ",
"R R ",
"R R",
"RRRR ",
"RR ",
"R R ",
"R R ",
"R R"])
class BigS(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" SSS ",
"S S",
"S ",
" S ",
" SS ",
" S",
"S S",
" SSS "])
class BigT(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["TTTTT",
" T ",
" T ",
" T ",
" T ",
" T ",
" T ",
" T "])
class BigU(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["U U",
"U U",
"U U",
"U U",
"U U",
"U U",
"U U",
"UUUUU"])
class BigV(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["V V",
"V V",
"V V",
"V V",
"V V",
"V V",
" V V ",
" V "])
class BigW(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["W W",
"W W",
"W W",
"W W",
"W W",
"W W W",
"WW WW",
"W W"])
class BigX(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["X X",
"X X",
" X X ",
" X ",
" X ",
" X X ",
"X X",
"X X"])
class BigY(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["Y Y",
" Y Y ",
" Y ",
" Y ",
" Y ",
" Y ",
" Y ",
" Y "])
class BigZ(_BigChar):
def __init__(self):
_BigChar.__init__(self, ["ZZZZZ",
" Z",
" Z ",
" Z ",
" Z ",
" Z ",
"Z ",
"ZZZZZ"])
class Big0(_BigChar):
def __init__(self):
_BigChar.__init__(self, [" OOO ",
"O 0O",
"O 0O",
"O 0 O",
"O 0 O",
"O0 O",
"O0 O",
" OOO "])
class BigCharFabric:
"""Fabrica"""
def __init__(self):
self.__dict = dict(A = BigA(),
B = BigB(),
C = BigC(),
D = BigD(),
E = BigE(),
F = BigF(),
G = BigG(),
H = BigH(),
I = BigI(),
J = BigJ(),
K = BigK(),
L = BigL(),
M = BigM(),
N = BigN(),
Ñ = BigÑ(),
O = BigO(),
P = BigP(),
Q = BigQ(),
R = BigR(),
S = BigS(),
T = BigT(),
U = BigU(),
V = BigV(),
W = BigW(),
X = BigX(),
Y = BigY(),
Z = BigZ())
def fabric(self, char):
if (not isinstance(char, str)) or (len(char) > 1):
raise TypeError
try:
return self.__dict[char.upper()]
except(KeyError):
raise NotImplementedError
class Application:
"""Aqui se realiza el procesamiento!!!"""
def __init__(self):
self.__fabric = BigCharFabric()
def run(self):
for word in argv[1:]:
for i in range(0, self.__fabric.fabric("a").RowCount):
for char in word:
stdout.write(self.__fabric.fabric(char).getRow(i))
stdout.write("\t")
stdout.write("\n")
print("")
if __name__ == "__main__":
app = Application()
app.run()