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>