Решение вашего вопроса:
def GetRange(len, i):
center = 0
center+=len//2
ren = 0
if i<=center:
ren = i
else:
ren = len-i
return ren
def ListToString(list):
string=""
return string.join(list)
def PrintStarSquare(len):
i=0
for i in range(len):
s =[]
j=0
for j in range(len):
s.append(' ')
if i%2 == 0:
k=0
for k in range(len):
s[k]='*'
c=0
p = GetRange(len,i)-1
for c in range(p):
if c%2 == 0:
s[c+1]=' '
else:
s[len-c-1]=' '
else:
c=0
for c in range(GetRange(len,i)):
if c%2 == 0:
s[c]='*'
else:
s[len-c]='*'
print(ListToString(s))
//вызвать с указанной длинной - PrintStarSquare