1630 - Morisca

From Bitnami MediaWiki
Revision as of 15:58, 26 April 2023 by Paul Ungur (talk | contribs)

Cerința

Se dă un număr n. Afișați figura din exemplu.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran figura.

Restricții și precizări

1 ≤ n ≤ 10

Exemplu:

Intrare

4

Ieșire

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

Explicație

S-au afișat 4 triunghiuri și un pătrat, figuri formate din caracterul steluță.

Rezolvare

<syntaxhighlight lang="python" line="1"> def validare(n):

   if n < 1 or n > 10:
       print("Valoarea introdusa pentru n este incorecta!")
       return False
   return True

def rezolvare(n):

   # Prima parte a figurii
   for i in range(1, n + 1):
       for j in range(1, i + 1):
           print('*', end=)
       for k in range(1, n * 3 - i * 2 + 1):
           print(' ', end=)
       for f in range(1, i + 1):
           print('*', end=)
       print()
   # A doua parte a figurii
   for i in range(1, n + 1):
       for j in range(1, n + 1):
           print(' ', end=)
       for k in range(1, n + 1):
           print('*', end=)
       print()
   # A treia parte a figurii
   for i in range(n, 0, -1):
       for j in range(1, i + 1):
           print('*', end=)
       for k in range(1, n * 3 - i * 2 + 1):
           print(' ', end=)
       for f in range(1, i + 1):
           print('*', end=)
       print()

if __name__ == '__main__':

   n = int(input("Introduceti valoarea pentru n: "))
   if validare(n):
       print("Date de intrare valide")
       rezolvare(n)

</syntaxhighlight>