1569 - Scara Numerelor

From Bitnami MediaWiki
Revision as of 18:30, 29 June 2023 by Paul Ungur (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința[edit | edit source]

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

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Date de intrare valide.", apoi programul va afișa figura, similar cu exemplul. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Date de intrare invalide".

Restricții și precizări[edit | edit source]

1 ≤ n ≤ 9

Exemplu:[edit | edit source]

Intrare

3

Ieșire

Date de intrare valide
1
22
22
333
333
333

Explicație[edit | edit source]

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[edit | edit source]

<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:[edit | edit source]

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.