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
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.
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
- 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>