Вывести на экран квадрат из звёздочек
Как можно сделать квадрат из звёздочек, где стороны квадрата будут равны вводимому числу, но внутри он должен быть пустым?
Желаемый результат:
Вход: 3
Выход:
***
* *
***
Вход: 4
Выход:
****
* *
* *
****
Мой код, выводящий заполненный квадрат
n = int(input())
for i in range(n):
for j in range(n):
print("*", end = "\t")
print()
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Разберёмся, что именно нужно печатать.
В первой и в последней строках нужно вывести n звёздочек, это можно сделать так, как вы делали - в цикле - но проще использовать строковый оператор умножения: "*" * n формирует строку из n символов.
А между этими строками нужно создать и вывести строки, состоящие из левой и правой звёздочек, а между ними - (n-2) пробелов:
n = int(input())
print("*" * n)
for i in range(n - 2):
print("*" + " " * (n - 2) + "*")
print("*" * n)