Odpowiedź :
Odpowiedź:
W załączniku :), przepisz se, żebyś zrozumiał gdybyś miał jakieś problemy
Wyjaśnienie:

Odpowiedź:
W załączniku program bez komentarzy.
Wyjaśnienie:
print('Podaj długość boków trójkąta zatwierdzając każdy ENTEREM:')
a=float(input()) #jeżeli zakładamy, że długości
b=float(input()) #będą całkowite zamieniamy
c=float(input()) #float na int przy każdej długości
h=float(input('Podaj długość wysokości trójkąta opadającą na pierwszy bok: '))
if a<=0 or b<=0 or c<=0 or h<=0: #sprawdzenie warunku dodatniej liczby
print('Podane liczby nie mogą być długościami boków trójkąta')
elif a+b<=c or a+c<=b or b+c<=a: #sprawdzenie warunku trójkąta
print('Podane liczby nie mogą być długościami boków trójkąta')
else:
P=a*h/2
Obw=a+b+c
print('Pole trójkąta wynosi ',P,'\nObwód trójkąta wynosi ',Obw) #\n w princie przerzuca do następnej linii
Kłopot się robi znów z długością wysokości. Czy będzie prawidłowa?
W tym momencie lepiej o nią nie pytać, tylko obliczyć pole ze wzoru Herona, gdzie potrzeba tylko długości boków trójkąta:
[tex]P_\triangle=\sqrt{p(p-a)(p-b)(p-c)}\\\\p=\dfrac{a+b+c}{2}[/tex]
Program wyglądałby wówczas tak:
print('Podaj długość boków trójkąta zatwierdzając każdy ENTEREM:')
a=float(input())
b=float(input())
c=float(input())
if a<=0 or b<=0 or c<=0:
print('Podane liczby nie mogą być długościami boków trójkąta')
elif a+b<=c or a+c<=b or b+c<=a:
print('Podane liczby nie mogą być długościami boków trójkąta')
else:
p=(a+b+c)/2
P=(p*(p-a)*(p-b)*(p-c))**0.5
Obw=a+b+c
print('Pole trójkąta wynosi ',P,'\nObwód trójkąta wynosi ',Obw)
