1301 - Isoscel

From Bitnami 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
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>