1376 - Laturi Triunghi: Difference between revisions
Paul Ungur (talk | contribs) No edit summary |
Paul Ungur (talk | contribs) No edit summary |
||
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 se va afișa triunghiul cerut. Î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 | ||
5 | : 5 | ||
Ieșire | Ieșire | ||
: Date de intrare valide | |||
* | * | ||
* * | * * |
Latest revision as of 18:25, 29 June 2023
Cerința[edit | edit source]
Se dă n. Afișați un triunghi cu latura de n steluțe gol înăuntru.
Date de intrare[edit | edit source]
Se va citi 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 se va afișa triunghiul cerut. Î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 ≤ 10
Exemplu:[edit | edit source]
Intrare
- 5
Ieșire
- Date de intrare valide
* * * * * * *
- * * * *
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1"> def validare_date(n):
if not n.isdigit(): return False n = int(n) if n < 1 or n > 10: return False return True
def afisare_triunghi(n):
margine = '*' liber = ' ' start = 2 baza = 4 for temp in range(start, n + 1): for temp2 in range(0, n - temp + 1): print(liber, end="") if temp > start: print(margine + " ", end="") for temp3 in range(baza, temp + 1): print(liber + " ", end="") print(margine + " ") for temp4 in range(baza, n + baza): print(margine + " ", end="") print()
if __name__ == '__main__':
n = input("Introduceti numarul n: ") while not validare_date(n): n = input("Valoarea introdusa nu este valida. Introduceti un numar intre 1 si 10: ") if validare_date(n): print("Date de intrare valide") n = int(n) afisare_triunghi(n)
</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 este un șir de caractere numeric (isdigit()) și apoi îl converteste într-un număr întreg (int(n)). Dacă n nu este un număr întreg sau dacă este mai mic decât 1 sau mai mare decât 10, funcția returnează False. În caz contrar, returnează True. Funcția afisare_triunghi(n) rezolvă problema dată și afișează un triunghi cu lățimea n. Folosește variabilele margine, liber, start și baza pentru a defini caracterele utilizate pentru afișare. Utilizează două bucle for pentru a itera prin rândurile triunghiului. În interiorul acestor bucle, utilizează alte bucle pentru a afișa caracterele corespunzătoare în fiecare rând. La final, afișează baza triunghiului prin repetarea caracterului margine de n+baza ori. În blocul if __name__ == '__main__':, se citește input-ul de la utilizator utilizând funcția input(). 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 afisare_triunghi(n) pentru a rezolva problema și a afișa triunghiul.