Python - Cual puede ser el error en este problema del triangulo? ayudenme

 
Vista:
sin imagen de perfil
Val: 88
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Cual puede ser el error en este problema del triangulo? ayudenme

Publicado por lucas (20 intervenciones) el 08/11/2020 04:21:16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import math
 
################################################################################
## Class Triangulo
################################################################################
 
class Triangulo:
 
    def __init__(self, sideA=0.0, sideB=0.0, sideC=0.0 ):
        """
        Inicializa un objeto clase Triangulo.
        """
 
        self.__sideA = 0.0
        self.__sideB = 0.0
        self.__sideC = 0.0
        self.__valid = False
 
        pass # REEMPLAZAR
 
    def __validate( self ):
        if (self.sideA<0 or self.sideB<0 or self.sideC<0):
            self.__sideA=0
            self.__sideB=0
            self.__sideC=0
        if (self.sideA<self.sideB+self.sideC and self.sideB<self.sideA+self.sideC and self.sideC<self.sideA+self.sideB):
            self.__sideA=0
            self.__sideB=0
            self.__sideC=0
 
    @property
    def sideA(self):
        return self.__sideA
    @property
    def sideB(self):
        return self.__sideB
    @property
    def sideC(self):
        return self.__sideC
    @sideA.setter
    def sideA(self, val):
        if isinstance (val, int):
            if val>0:
                self.__sideA=val
            else:
                self.__sideA= 0
        else:
            self.__sideA=0
 
    @sideB.setter
    def sideB(self, val):
        if isinstance (val, int):
            if val>0:
                self.__sideB=val
            else:
                self.__sideB= 0
        else:
            self.__sideB=0
    @sideC.setter
    def sideC(self, val):
        if isinstance (val, int) and val>0:
            if val>0:
                self.__sideC=val
            else:
                self.__sideC= 0
        else:
            self.__sideC=0
 
 
    def __repr__( self ):
 
        return "Triangulo({:.1f},{:.1f},{:.1f})".format(self.sideA, self.sideB, self.sideC)
 
 
    def is_valid( self ):
 
        return  self.sideA>0 and self.sideB>0 and self.sideC>0 and (self.sideA>self.sideB+self.sideC or self.sideB>self.sideA+self.sideC or self.sideC>self.sideA+self.sideB)
 
 
    def is_equilateral( self ):
 
        if self._sideA==self._sideB and self._sideA==self._sideC:
            return True
        else:
            return False
 
    def is_isosceles( self ):
        if self._sideA==self._sideB and self._sideA!=self._sideC:
            return True
        else:
            return False
 
    def is_scalene( self ):
        if self._sideA!=self._sideB and self._sideA!=self._sideC:
            return True
        else:
            return False
 
    def sides( self ):
 
        return (self.sideA, self.sideB, self.sideC)
    def angles( self ):
 
 
        angA = math.acos((-self.sideA*2+self.sideB2+self.sideC*2)/(2*self.sideB*self.sideC))
        angB = math.acos((-self.sideB*2+self.sideA2+self.sideC*2)/(2*self.sideA*self.sideC))
        angC = math.acos((-self.sideC*2+self.sideA2+self.sideB*2)/(2*self.sideB*self.sideA))
        GradA= round(angA*180/math.pi,1)
        GradB= round(angB*180/math.pi,1)
        GradC= round(angC*180/math.pi,1)
 
 
    def perimeter( self ):
 
        perimetro= float(self.sideA+self.sideB+self.sideC)
        return perimetro
 
    def area( self ):
 
        p=self.sideA+self.sideB+self.sideC
        sp=p/2
        area=float((sp*(sp-self.sideA)*(sp-self.sideB)*(sp-self.sideC))*0.5)
        return area
 
    def scale( self, factor=1.0 ):
        if (factor>0):
            self._sideA= factor*self._sideA
            self._sideB= factor*self._sideB
            self._sideC= factor*self._sideC
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 233
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Cual puede ser el error en este problema del triangulo? ayudenme

Publicado por smn (62 intervenciones) el 08/11/2020 04:36:00
se mas especifico, a que error te refieres ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 88
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Cual puede ser el error en este problema del triangulo? ayudenme

Publicado por lucas (20 intervenciones) el 08/11/2020 04:47:54
resultado



ME SALE ASI NOSE PORQUE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 233
Ha disminuido 1 puesto en Python (en relación al último mes)
Gráfica de Python

Cual puede ser el error en este problema del triangulo? ayudenme

Publicado por smn (62 intervenciones) el 08/11/2020 04:58:13
y cual es el resultado que esperas ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 88
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Cual puede ser el error en este problema del triangulo? ayudenme

Publicado por lucas (20 intervenciones) el 08/11/2020 05:09:03
que si sea un triangulo valido, el perimetro sea la suma osea 15 y el area sea correcto. Ademas que en triangulo salga(3,5,7)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Cual puede ser el error en este problema del triangulo? ayudenme

Publicado por joel (901 intervenciones) el 08/11/2020 13:33:15
No hace falta publicar tantas veces la misma pregunta!!!

Prueba así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class Triangulo:
 
    def __init__(self, sideA=0.0, sideB=0.0, sideC=0.0 ):
        """
        Inicializa un objeto clase Triangulo.
        """
 
        self.__sideA = sideA
        self.__sideB = sideB
        self.__sideC = sideC
        self.__valid = self.__validate()
 
        pass # REEMPLAZAR
 
    def __validate( self ):
        sides=sorted([self.__sideA, self.__sideB, self.__sideC])
        return sides[0]>0 and sides[0]+sides[1]>sides[2]
 
    def __str__(self):
        return f"{self.__sideA, self.__sideB, self.__sideC}"
 
    def is_valid(self):
        return self.__valid
 
    def area(self):
        p=(self.__sideA+self.__sideB+self.__sideC)/2
        return math.sqrt(p*(p-self.__sideA)*(p-self.__sideB)*(p-self.__sideC))
 
    def perimeter( self ):
        return float(self.__sideA+self.__sideB+self.__sideC)
 
t=Triangulo(3, 5, 7)
print("Triangulo", t) # (3, 5, 7)
print("Valid", t.is_valid()) # True
print("Area", t.area()) # 6.49519052838329
print("Perimetro", t.perimeter()) # 15.0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar