Answer
t.me/python_tesstОтвет:
A
A
B B
A
---A---
--B-B--
-C---C-
D-----D
-C---C-
--B-B--
---A---
Объяснение:
Написали функцию, которая будет возвращать строку, представляющую собой ASCII-рисунок ромба. Функция имеет сигнатуру def diamond(letter: str, background: str=' ') -> str: Функция получает на вход одну букву латинского алфавита в верхнем регистре и один символ, который будет использован в качестве фона для рисунка. Каждая строка рисунка заканчивается символом \n, на вход может подаваться любая из 26 букв латинского алфавита и любой ASCII-символ как параметр background. Предполагается, что ввод всегда валиден, не нужно проверок и исключений.
Код:
from string import ascii_uppercase
def diamond(letter: str, background: str = ' ') -> str:
length = ascii_uppercase.index(letter)
template = [[background for __ in range(length * 2 + 1)] for _ in range(length + 1)]
template[0][length] = 'A'
for index in range(1, len(template)):
template[index][length - index] = ascii_uppercase[index]
template[index][-(length - index) - 1] = ascii_uppercase[index]
template.extend(list(reversed(template))[1:])
return '\n'.join(''.join(_) for _ in template) + '\n'
print (diamond('A'))
print (diamond('B'))
print (diamond('D','-'))