Crear una clase llamada Punto y Rectángulo. (Problema con "math")
Publicado por DANI (24 intervenciones) el 24/04/2021 14:52:26



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
class Punto:
def __init__(self, coordenada_X=0, coordenada_Y=0):
self.coordenada_X = coordenada_X
self.coordenada_Y = coordenada_Y
def __str__(self):
return "({}, {})".format(self.coordenada_X, self.coordenada_Y)
def cuadrante(self):
if self.coordenada_X > 0 and self.coordenada_Y > 0:
print("{} pertenece al primer cuadrante".format(self))
elif self.coordenada_X < 0 and self.coordenada_Y > 0:
print("{} pertenece al segundo cuadrante".format(self))
elif self.coordenada_X < 0 and self.coordenada_Y < 0:
print("{} pertenece al tercer cuadrante".format(self))
elif self.coordenada_X > 0 and self.coordenada_Y < 0:
print("{} pertenece al cuarto cuadrante".format(self))
elif self.coordenada_X != 0 and self.coordenada_Y == 0:
print("{} se sitúa sobre el eje X".format(self))
elif self.coordenada_X == 0 and self.coordenada_Y != 0:
print("{} se sitúa sobre el eje Y".format(self))
else:
print("{} se encuentra sobre el origen".format(self))
def vector(self, p):
print("El vector entre {} y {} es ({}, {})".format(
self, p, p.coordenada_X - self.coordenada_X, p.coordenada_Y - self.coordenada_Y) )
def distancia(self, p):
d = math.sqrt ( (p.coordenada_X - self.coordenada_X)**2 + (p.coordenada_Y - self.coordenada_Y)**2 )
print("La distancia entre los puntos {} y {} es {}".format(
self, p, d))
class Rectangulo:
def __init__(self, pInicial=Punto(), pFinal=Punto()):
self.pInicial = pInicial
self.pFinal = pFinal
def base(self):
print("La base del rectángulo es {}".format( self.vBase ) )
def altura(self):
print("La altura del rectángulo es {}".format( self.vAltura ) )
def area(self):
print("El área del rectángulo es {}".format( self.vArea ) )
class Rectangulo:
def __init__(self, pInicial=Punto(), pFinal=Punto()):
self.pInicial = pInicial
self.pFinal = pFinal
self.vBase = abs(self.pFinal.x - self.pInicial.x)
self.vAltura = abs(self.pFinal.y - self.pInicial.y)
self.vArea = self.vBase * self.vAltura
def base(self):
print("La base del rectángulo es {}".format( self.vBase ) )
def altura(self):
print("La altura del rectángulo es {}".format( self.vAltura ) )
def area(self):
print("El área del rectángulo es {}".format( self.vArea ) )
A = Punto(2,3)
B = Punto(5,5)
C = Punto(-3, -1)
D = Punto(0,0)
A.cuadrante()
C.cuadrante()
D.cuadrante()
A.vector(B)
B.vector(A)
A.distancia(B)
B.distancia(A)
A.distancia(D)
B.distancia(D)
C.distancia(D)
R = Rectangulo(A, B)
R.base()
R.altura()
R.area()
Valora esta pregunta


0