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

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

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