1393 - Desen Romb

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

Cerința

Se citește un număr natural n cu o cifră. Afișați pe ecran o figură sub forma de romb formata cu numerele naturale de la 1 la n, ca în exemplu.

Date de intrare

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

Date de ieșire

Programul va afișa pe ecran un romb ce conține numerele naturale de la 1 la n

Restricții și precizări

1≤n≤9

Exemplu:

Intrare 5

Ieșire

   1
  222
 33333
4444444

555555555

4444444
 33333
  222
   1

Rezolvare

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

   if not isinstance(n, int) or n < 1 or n > 9:
       print("n trebuie sa fie un numar natural cu o cifra (1-9)")
       return False
   return True

def rezolvare(n):

   for i in range(1, n + 1):
       # pe linia i scriu n - i spatii
       for j in range(1, n - i + 1):
           print(' ', end=)
       # mai scriu 2 * i - 1 valori de i
       for j in range(1, 2 * i):
           print(i, end=)
       print()
   for i in range(1, n):
       # scriem i spatii pe linia i
       for j in range(1, i + 1):
           print(' ', end=)
       for j in range(1, 2 * (n - i)):
           print(n - i, end=)
       print()


if __name__ == '__main__':

   n = int(input("Introduceti un numar natural cu o cifra: "))
   if validare(n):
       print("Date de intrare valide")
       rezolvare(n)

</syntaxhighlight>