1393 - Desen Romb: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
Line 28: Line 28:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line="1">
<syntaxhighlight lang="python" line="1">
n = int(input())
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)")


# Partea superioară a rombului
def rezolvare(n):
for i in range(1, n+1):
    for i in range(1, n + 1, 2):
    print(" "*(n-i) + str(i)*((i-1)*2+1))
        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()


# Partea inferioară a rombului
for i in range(n-1, 0, -1):
    print(" "*(n-i) + str(i)*((i-1)*2+1))
</syntaxhighlight>
</syntaxhighlight>

Revision as of 10:56, 25 March 2023

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>