Python - ¡POR FAVOR! Necesito ayuda con error Object is not Suscriptable

 
Vista:

¡POR FAVOR! Necesito ayuda con error Object is not Suscriptable

Publicado por Fran (1 intervención) el 08/10/2021 04:26:49
Basicamente debo crear un programa que mida la distancia máxima y mínima entre dos puntos de un archivo, pero al momento de ejecutarlo obtengo el error del asunto.
Agradecería mucho la ayuda ya que probé mucho tiempo y no se me ocurre como solucionarlo.
Muestro el programa:
import os.path
import pickle
import math

NOMBRE_ARCHIVO = 'puntos.df4'

class Point:
def __init__(self, cx, cy, desc='p'):
self.x = cx
self.y = cy
self.descripcion = desc


def to_string(point):
r = str(point.descripcion) + '(' + str(point.x) + ', ' + str(point.y) + ')'
return r

def comparar():
dmin = 0
dmax = 0
archivo = open(NOMBRE_ARCHIVO, 'rb')
tam = os.path.getsize(NOMBRE_ARCHIVO)
while archivo.tell() < tam:
puntos = pickle.load(archivo)

for i in range(0, tam-1):
for j in range(i+1, tam):

dy = puntos[j].y - puntos[i].y
dx = puntos[j].x - puntos[i].x
d = math.sqrt(pow(dx, 2) + pow(dy, 2))
if d < dmin:
dmin = d
if d > dmax:
dmax = d

print('La distancia minima es de: ', round(dmin))
print('La distancia máxima es de: ', round(dmax))

comparar()

El error es el siguiente:
dy = puntos[j].y - puntos[i].y
TypeError: 'Point' object is not subscriptable
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