1569 - Scara Numerelor: Difference between revisions
Paul Ungur (talk | contribs) No edit summary |
Paul Ungur (talk | contribs) No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
==Date de ieșire== | ==Date de ieșire== | ||
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== | ==Restricții și precizări== | ||
Line 14: | Line 14: | ||
Intrare | Intrare | ||
3 | : 3 | ||
Ieșire | Ieșire | ||
: Date de intrare valide | |||
: 1 | |||
: 22 | |||
22 | : 22 | ||
: 333 | |||
333 | : 333 | ||
: 333 | |||
333 | |||
==Explicație== | ==Explicație== | ||
Line 35: | Line 35: | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line="1"> | <syntaxhighlight lang="python" line="1"> | ||
def | def validare_date(n): | ||
""" | """ | ||
Verifică dacă numărul n este între 1 și 9. | Verifică dacă numărul n este între 1 și 9. | ||
Line 58: | Line 58: | ||
if __name__ == "__main__": | if __name__ == "__main__": | ||
n = int(input("Introduceți un număr natural n: ")) | n = int(input("Introduceți un număr natural n: ")) | ||
if | if validare_date(n): | ||
print("Date de intrare valide") | print("Date de intrare valide") | ||
print_figure(n) | print_figure(n) | ||
else: | |||
print("Date de intrare invalide") | |||
</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. |
Latest revision as of 18:30, 29 June 2023
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.