1393 - Desen Romb

From Bitnami MediaWiki

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:
       raise ValueError("n trebuie sa fie un numar natural cu o cifra (1-9)")

def rezolvare(n):

   for i in range(1, n + 1, 2):
       print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="")
   for i in range(n - 2, 0, -2):
       print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="")

def main():

   n = int(input("Introduceti un numar natural cu o cifra: "))
   validare(n)
   rezolvare(n)

if __name__ == '__main__':

   main()

</syntaxhighlight>