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!