1569 - Scara Numerelor: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
No edit summary
Paul Ungur (talk | contribs)
No edit summary
Line 65: Line 65:


</syntaxhighlight>
</syntaxhighlight>
==Explicatie cod:==
Funcția validare_date(n) verifică dacă valoarea n este un număr valid pentru a rezolva problema dată. Verifică dacă n se află în intervalul [1, 9]. Dacă este în intervalul valid, funcția returnează True. În caz contrar, se afișează un mesaj de eroare și funcția returnează False.
Funcția print_figure(n) rezolvă problema și afișează cifrele de la 1 la n într-un model specific. Funcția utilizează trei bucle for pentru a controla afișarea în modelul dorit. Cu fiecare iterație, se afișează rândul respectiv de cifre. La fiecare iterație a celei de-a doua bucle for, se afișează valoarea cifrei i de i ori, iar la fiecare iterație a celei de-a treia bucle for, se afișează numărul i pe un rând nou.
În blocul if __name__ == "__main__":, se citește valoarea n de la utilizator utilizând funcția input() și se verifică dacă valoarea introdusă este validă utilizând funcția validare_date(n). Dacă nu este validă, se afișează un mesaj de eroare și se cere introducerea unei valori valide. Dacă valoarea introdusă este validă, se apelează funcția print_figure(n) pentru a rezolva problema și a afișa cifrele în modelul specific.

Revision as of 15:42, 15 May 2023

Cerința

Se citește un număr natural n</span.. Să se afișeze o figură similară cu cea din exemplu.

Date de intrare

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

Date de ieșire

Programul va afișa figura, similar cu exemplul.

Restricții și precizări

1 ≤ n ≤ 9

Exemplu:

Intrare

3

Ieșire

1

22

22

333

333

333

Explicație

Cifra 1 s-a afisat o singura data, pe un singur rand. Cifra 2 s-a afista de 2 ori, pe 2 randuri. Cifra 3 s-a afisat de 3 ori, pe 3 randuri.

Rezolvare

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

   """
   Verifică dacă numărul n este între 1 și 9.
   """
   if 1 <= n <= 9:
       return True
   else:
       print("Numărul trebuie să fie între 1 și 9.")
       return False

def print_figure(n):

   """
   Afișează cifrele de la 1 la n pe câte n rânduri.
   """
   for i in range(1, n + 1):
       for j in range(1, i + 1):
           for k in range(1, i + 1):
               print(i, end=)
           print()


if __name__ == "__main__":

   n = int(input("Introduceți un număr natural n: "))
   if validare_date(n):
       print("Date de intrare valide")
       print_figure(n)
   else:
       print("Date de intrare invalide")

</syntaxhighlight>

Explicatie cod:

Funcția validare_date(n) verifică dacă valoarea n este un număr valid pentru a rezolva problema dată. Verifică dacă n se află în intervalul [1, 9]. Dacă este în intervalul valid, funcția returnează True. În caz contrar, se afișează un mesaj de eroare și funcția returnează False. Funcția print_figure(n) rezolvă problema și afișează cifrele de la 1 la n într-un model specific. Funcția utilizează trei bucle for pentru a controla afișarea în modelul dorit. Cu fiecare iterație, se afișează rândul respectiv de cifre. La fiecare iterație a celei de-a doua bucle for, se afișează valoarea cifrei i de i ori, iar la fiecare iterație a celei de-a treia bucle for, se afișează numărul i pe un rând nou. În blocul if __name__ == "__main__":, se citește valoarea n de la utilizator utilizând funcția input() și se verifică dacă valoarea introdusă este validă utilizând funcția validare_date(n). Dacă nu este validă, se afișează un mesaj de eroare și se cere introducerea unei valori valide. Dacă valoarea introdusă este validă, se apelează funcția print_figure(n) pentru a rezolva problema și a afișa cifrele în modelul specific.