# вывод строк с содержимым прямоугольника
for i in range(n-2):
if i == (n-2)//2: # если достигли середины прямоугольника, то выводим строки с символами "!"
print(inner_row.replace("@", " ").replace("!", "! "))
else:
print(inner_row)
# вывод нижней границы
print(horizontal_border)
Программа запрашивает у пользователя высоту и ширину прямоугольника, затем используя строки с символами "#" и "@", пробелом и "!" генерирует необходимый рисунок. Результат выводится на экран.
Например, если в качестве входных данных мы введем: 10
15
То программа выведет следующий результат: ###############
#@@@@@@@@@@@@@#
#@! !@#
#@ @#
#@ @#
#@ @#
#@ @#
#@! !@#
#@@@@@@@@@@@@@#
###############
n = int(input()) # высота
m = int(input()) # ширина
# вывод верхней границы
print("#" * m)
# вывод боковых границ и внутренней части
for i in range(n-2):
if i == (n-2)//2:
# вывод строки с рисунком внутри
print("#" + "@"*(m-2) + "#"
else:
# вывод строки без рисунка
print("#" + " "*(m-2) + "#"
# вывод нижней границы
print("#" * m)
__________________________________________
Примечание: Рисунок внутри прямоугольника представлен символом @. Рисунок должен находиться ровно посередине по вертикали. Символы ! и пробелы между ними используются для заполнения пустого места.
# проверяем, что n и m >= 5
if n < 5 or m < 5:
print("Высота и ширина должны быть не меньше 5"
else:
# верхняя граница
print("*" * m)
# внутренние строки
for i in range(n-2):
print("*" + " "*(m-2) + "*"