1393 - Desen Romb: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Paul Ungur (talk | contribs)
No edit summary
Line 30: Line 30:
def validare(n):
def validare(n):
     if not isinstance(n, int) or n < 1 or n > 9:
     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)")
         print("n trebuie sa fie un numar natural cu o cifra (1-9)")
        return False
    return True


def rezolvare(n):
def rezolvare(n):
     for i in range(1, n + 1, 2):
     for i in range(1, n + 1):
         print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="")
         # pe linia i scriu n - i spatii
     for i in range(n - 2, 0, -2):
        for j in range(1, n - i + 1):
         print(" " * ((n - i) // 2), str(i) * i, " " * ((n - i) // 2), sep="")
            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()


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


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


</syntaxhighlight>
</syntaxhighlight>

Revision as of 16:00, 26 April 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:
       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>