1301 - Isoscel
Cerință
Se citesc trei numere reale de la tastatură. Să se verifice dacă formează laturile unui triunghi isoscel.
Date de intrare
Programul citește de la tastatură trei numere a b c.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran unul din următoarele mesaje: Formeaza triunghi isoscel – în cazul în care triunghiul este isoscel; Nu formeaza triunghi isoscel – în cazul în care triunghiul este echilateral sau oarecare; Nu formeaza triunghi – în cazul în care numerele nu pot fi laturile unui triunghi. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții și precizări
- triunghiul echilateral nu este considerat isoscel
- laturile triunghiului oarecare sunt distincte două câte două
Exemplul 1
- Intrare
- 5 7.5 5
- Ieșire
- Datele de intrare corespund restricțiilor impuse.
- Formeaza triunghi isoscel
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(a, b, c):
# Verifică dacă laturile triunghiului sunt pozitive și nenule if a <= 0 or b <= 0 or c <= 0: return False return True
def isoscel(a, b, c):
# Verifică dacă laturile formează un triunghi if a + b <= c or a + c <= b or b + c <= a: print("Nu formeaza triunghi") # Verifică dacă triunghiul este isoscel elif a == b and b != c or a == c and c != b or b == c and b != a: print("Formeaza triunghi isoscel") else: print("Nu formeaza triunghi isoscel")
if __name__ == "__main__":
# Citeste valorile de la tastatură și verifică dacă sunt valide a, b, c = map(float, input().split()) if validare(a, b, c): print("Datele de intrare corespund restricțiilor impuse.") # Verifică dacă laturile formează un triunghi isoscel isoscel(a, b, c) else: print("Datele de intrare nu corespund restricțiilor impuse.")
</syntaxhighlight>