Napisz program w języku Python który wczyta 3 liczby a,b,c i sprawdzi czy mogą one być krawędziami trójkąta prostokątnego. Jeśli tak to policzy jego pole. Dla danych 3,4,5 odpowiedź jest 6.

Odpowiedź :

Odpowiedź:

a=int(input("wprowadź pierwszą liczbę:"))

b=int(input("wprowadź drugą liczbę:"))

c=int(input("wprowadź trzecią liczbę:"))

if a**2+b**2==c**2:

   x=(a*b/2)

   print("liczby mogą być krawędziami trójkąta")

   print(f'pole trójkąta: {x}')

else:

   print("liczby nie mogą być krawędziami trójkąta")

Program dodatkowo sprawdza, która z wprowadzonych liczb jest przeciwprostokątną - zatem podając liczby w innej kolejności (np. 5, 3, 4  zamiast 3, 4, 5) również działa poprawnie.

def twierdzeniePitagorasa(a, b, c):

   aKwadrat = a ** 2

   bKwadrat = b ** 2

   cKwadrat = c ** 2

   # c przeciwprostokątna

   if c > a and c > b:

       abKwadrat = aKwadrat + bKwadrat

       if abKwadrat == cKwadrat:

           return True

       else:

           return False

   # a przeciwprostokątna

   if a > b and a > c:

       bcKwadrat = bKwadrat + cKwadrat

       if bcKwadrat == aKwadrat:

           return True

       else:

           return False

   # b przeciwprostokątna

   if b > a and b > c:

       acKwadrat = aKwadrat + cKwadrat

       if acKwadrat == bKwadrat:

           return True

       else:

           return False

           

def obliczPole(a, b, c):

   # c przeciwprostokątna

   if c > a and c > b:

       poleTrojkata = (a * b) / 2

   # a przeciwprostokątna

   if a > b and a > c:

       poleTrojkata = (b * c) / 2

   # b przeciwprostokątna

   if b > a and b > c:

       poleTrojkata = (a * c) / 2

   return poleTrojkata

       

if __name__ == "__main__":

   while True:

       try:

           a = int(input("Podaj pierwszą liczbę: "))

           break

       except ValueError:

           print("BŁĄD! Podaj liczbę całkowitą.\n")

   while True:

       try:

           b = int(input("Podaj drugą liczbę: "))

           break

       except ValueError:

           print("BŁĄD! Podaj liczbę całkowitą.\n")

   while True:

       try:

           c = int(input("Podaj trzecią liczbę: "))

           break

       except ValueError:

           print("BŁĄD! Podaj liczbę całkowitą.\n")

   if a == b and b == c:

       print(f"Trójkąt o długości boków {a}, {b} i {c} jest równoboczny - na pewno nie jest trójkątem prostokątnym!")

   else:

       if twierdzeniePitagorasa(a, b, c):

           print(f"Trójkąt o długości boków {a}, {b} i {c} jest trójkątem prostokątnym!")

           poleTrojkata = obliczPole(a, b, c)

           print(f"Pole trójkąta wynosi: {poleTrojkata}")

       else:

           print(f"Trójkąt o długości boków {a}, {b} i {c} nie jest prostokątny!")

Działanie:

❯ python3 trojkat.py

Podaj pierwszą liczbę: 6

Podaj drugą liczbę: 3

Podaj trzecią liczbę: 7

Trójkąt o długości boków 6, 3 i 7 nie jest prostokątny!

❯ python3 trojkat.py

Podaj pierwszą liczbę: 5

Podaj drugą liczbę: 3

Podaj trzecią liczbę: 4

Trójkąt o długości boków 5, 3 i 4 jest trójkątem prostokątnym!

Pole trójkąta wynosi: 6.0

❯ python3 trojkat.py

Podaj pierwszą liczbę: 7

Podaj drugą liczbę: 7

Podaj trzecią liczbę: 7

Trójkąt o długości boków 7, 7 i 7 jest równoboczny - na pewno nie jest trójkątem prostokątnym!