Napisałem tak skrypt. Czy moglibyście mi wytłumaczyć czemu to właściwie działa. Pisałem, poprawiałem, pisałem etc. aż w końcu się udało, jednak nie rozumiem do końca czemu to działa:
import math
wiersze = 14
wiersze = wiersze if wiersze % 2 == 0 else wiersze + 1
kolumny = wiersze
srodek = wiersze // 2
for i in range(wiersze):
if i == 0 or i == wiersze - 1:
print('*' * kolumny)
continue
print('*', end='')
print(' ' * (i - 1 if i < srodek else wiersze - i - 2), end='')
print('*', end='')
print(' ' * (wiersze - 2 * i - 2 if i < srodek else 2 * i - wiersze), end='')
print('*', end='')
print(' ' * (i - 1 if i < srodek else wiersze - i - 2), end='')
print('*')
Chodzi mi o linijkę 16, czemu to działa? :P
output:
**************
** **
* * * *
* * * *
* * * *
* * * *
* ** *
* ** *
* * * *
* * * *
* * * *
* * * *
** **
**************



