3829 - Octogon

From Bitnami MediaWiki

Cerința

Să se afișeze un octogon de latură n umplut cu caractere * iar spațiul spațiul exterior umplut cu #, ca în exemplu.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa octogonul cerut.

Restricții și precizări

2 ≤ n ≤ 40

Exemplu:

Intrare

5

Ieșire

####*****####

###*******###

##*********##

#***********#

*************

*************

*************

*************

*************

#***********#

##*********##

###*******###

####*****####

Rezolvare

<syntaxhighlight lang="python" line="1"> n = int(input())

  1. afișăm prima jumătate a octogonului

for i in range(n):

   for j in range(n - i - 1):
       print("#", end="")
   for j in range(2 * i + 1):
       print("*", end="")
   for j in range(n - i - 1):
       print("#", end="")
   print()
  1. afișăm a doua jumătate a octogonului

for i in range(n - 2, -1, -1):

   for j in range(n - i - 1):
       print("#", end="")
   for j in range(2 * i + 1):
       print("*", end="")
   for j in range(n - i - 1):
       print("#", end="")
   print()

</syntaxhighlight>