1569 - Scara Numerelor
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.