Ваш оригинальный код почти работает!Вот несколько небольших модификаций, которые заставляют его делать то, что вы хотите.
Первая проблема заключается в том, что вы, похоже, не понимаете, какие диапазоны x и y могут взять.Если вы перебираете диапазон (num), то счетчик в цикле будет находиться в диапазоне от нуля до num - 1
, и цикл будет выполняться num
раз.Итак, 0 - это первая итерация, а num - 1
- последняя (то есть стороны квадрата).
Вторая проблема заключается в том, что вам нужно печатать пробел, а не просто ничего в предложении else.
Вот исправленная версия:
num = int(input("Enter the size"))
for x in range(num):
for y in range(num):
if (y==0 or y==num-1) or (x==0 or x==num-1):
print("*", end= "")
else:
print(" ", end= "")
print()