Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from string import ascii_lowercase, ascii_uppercase
- class LetterRhombus:
- def __init__(self, letter, filler=" "):
- self.letter = letter
- self.filler = filler
- self.alpha = ascii_lowercase[1:] if letter.islower() else ascii_uppercase[1:]
- self.alpha_index = self.alpha.index(letter)
- self.matrix = []
- self._build_matrix()
- def _build_matrix(self):
- self.matrix.append([self.filler for i in range(self.alpha_index + 1)] +
- ["a" if self.letter.islower() else "A"] +
- [self.filler for i in range(self.alpha_index + 1)])
- for index, letter in enumerate(self.alpha, start=1):
- self.matrix.append([self.filler for i in range(self.alpha_index - index + 1)] +
- [letter] +
- [self.filler for i in
- range((self.alpha_index * 2 - 1) - ((self.alpha_index - index) * 2))]
- + [letter] + [self.filler for i in range(self.alpha_index - index + 1)])
- if letter == self.letter:
- break
- self.matrix += self.matrix[-2::-1]
- def rows(self):
- return list(map(lambda x: "".join(x), self.matrix))
- def cols(self):
- to_return = []
- for j in range(len(self.matrix[0])):
- to_return.append([self.matrix[i][j] for i in range(len(self.matrix[j]))])
- return list(map(lambda x: "".join(x), to_return))
- a = LetterRhombus("C")
- print(*a.cols(), sep="\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement