I have some problems and I do not know how to fix it:
1) An equilateral triangle, three equal sides and angles = 60 °, is read as an isosceles triangle (two equal sides).
2) In addition to misprinting, I can not remove this 'NONE'.
3) When the triangle has one of the angles = 90, it is a rectangle. But the program does not recognize.
4) The fourth and last problem is that I do not know how I can restart the program: 'Type S to restart or N to end the program'
Can anyone help me ???
import math
# lado a
a = int(input('Digite o valor de um dos lados do triângulo '))
# lado b
b = int(input('Digite o valor do outro lado do triângulo '))
# angulo entre a e b
m = int(input('Digite o ângulo entre estes dois lados '))
ab = (m*math.pi)/180
# calculo do lado c
def lado_c ():
global a,b,c,ab
c = math.sqrt(a**2 + b**2 - 2*a*b*math.cos(ab))
return round(c,2)
# angulo entre a e c
def angulo_ac ():
global a,b,c,ac
n = ((a**2+c**2)-(b**2))/(2*a*c)
ac = (math.acos(n)*180)/math.pi
return (round(ac,2))
# angulo b e c
def angulo_bc ():
global a,b,c,bc
p = ((c**2+b**2)-(a**2))/(2*b*c)
bc =(math.acos(p)*180)/math.pi
return (round(bc,2))
# perímetro
def perimetro ():
global P,a,b,c
P =(a+b+c)
return P
# área
def area ():
global a,b,c,P,A
p = (a+b+c)/2
A = float(math.sqrt(p*(p-a)*(p-b)*(p-c)))
return A
# altura
def altura ():
global A
h = (A*2)/c
return h
# classificação quanto aos lados
def lado_class ():
global a,b,c,ab
if a!=b and a!=c and b!=c:
print ('Escaleno')
elif ab == 60 and a == b and b == c:
print ('Equilátero')
elif a != b and b == c or b !=c and c == a or c !=a and a==b:
print ('Isósceles')
return
# classificação quanto aos angulos
def angulo_class ():
global ab, ac, bc
if ab == 90 or bc == 90 or ac == 90:
print ('Retângulo')
elif ab < 90 and bc < 90 and ac < 90:
print ('Acutângulo')
elif ab > 90 and bc < 90 and ac < 90 or bc > 90 and ac < 90 and ab < 90 or ac > 90 and ac < 90 and ab < 90 :
print ('Obtusângulo')
return
#-----------------------------------------------------------------------------
print ('Lado c = '+ str(round(lado_c (),2)))
print ('Ângulo entre a e c '+str(angulo_ac ()))
print ('Ângulo entre b e c '+str(angulo_bc ()))
print('Área = '+str(round(area (),2))+' unidades de área')
print('Perímetro = '+str(round(perimetro(),2))+' unidades de comprimento')
print ('Altura, em relação ao lado c = '+str(round(altura (),2))+' unidades de comprimento')
print(lado_class ())
print (angulo_class ())
> import math
# lado a
a = int(input('Digite o valor de um dos lados do triângulo '))
# lado b
b = int(input('Digite o valor do outro lado do triângulo '))
# angulo entre a e b
m = int(input('Digite o ângulo entre estes dois lados '))
ab = (m*math.pi)/180
# calculo do lado c
def lado_c ():
global a,b,c,ab
c = math.sqrt(a**2 + b**2 - 2*a*b*math.cos(ab))
return round(c,2)
# angulo entre a e c
def angulo_ac ():
global a,b,c,ac
n = ((a**2+c**2)-(b**2))/(2*a*c)
ac = (math.acos(n)*180)/math.pi
return (round(ac,2))
# angulo b e c
def angulo_bc ():
global a,b,c,bc
p = ((c**2+b**2)-(a**2))/(2*b*c)
bc =(math.acos(p)*180)/math.pi
return (round(bc,2))
# perímetro
def perimetro ():
global P,a,b,c
P =(a+b+c)
return P
# área
def area ():
global a,b,c,P,A
p = (a+b+c)/2
A = float(math.sqrt(p*(p-a)*(p-b)*(p-c)))
return A
# altura
def altura ():
global A
h = (A*2)/c
return h
# classificação quanto aos lados
def lado_class ():
global a,b,c,ab
if a!=b and a!=c and b!=c:
print ('Escaleno')
elif ab == 60 and a == b and b == c:
print ('Equilátero')
elif a != b and b == c or b !=c and c == a or c !=a and a==b:
print ('Isósceles')
return
# classificação quanto aos angulos
def angulo_class ():
global ab, ac, bc
if ab == 90 or bc == 90 or ac == 90:
print ('Retângulo')
elif ab < 90 and bc < 90 and ac < 90:
print ('Acutângulo')
elif ab > 90 and bc < 90 and ac < 90 or bc > 90 and ac < 90 and ab < 90 or ac > 90 and ac < 90 and ab < 90 :
print ('Obtusângulo')
return
#-----------------------------------------------------------------------------
print ('Lado c = '+ str(round(lado_c (),2)))
print ('Ângulo entre a e c '+str(angulo_ac ()))
print ('Ângulo entre b e c '+str(angulo_bc ()))
print('Área = '+str(round(area (),2))+' unidades de área')
print('Perímetro = '+str(round(perimetro(),2))+' unidades de comprimento')
print ('Altura, em relação ao lado c = '+str(round(altura (),2))+' unidades de comprimento')
print(lado_class ())
print (angulo_class ())
I also posted the code here (it's best to view it): link