1301 - Isoscel
De la Universitas MediaWiki
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
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.")