1301 - Isoscel

De la Universitas MediaWiki
Versiunea din 22 aprilie 2023 18:14, autor: Vardai Erwin (discuție | contribuții) (→‎Date de ieșire)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

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