Les voy dejando la guía del Trabajo Práctico 4. Tiene dos adjuntos: listaClaveValor.py y autos.py. Como estoy teniendo problemas técnicos con los adjuntos, a continuación les pego el código de ambos archivos:
ListaClaveValor.py
class listaClaveValor:
def __init__(self, clave=None, valor=None):
self.__clave = clave
self.__valor = valor
self.__siguiente = None
def buscarClave(self, c):
e = self
while e!=None and e.__clave!=c:
e = e.__siguiente
return e
def buscarValor(self, v):
e = self
while e!=None and e.__valor!=v:
e = e.__siguiente
return e
def insertar(self, c, v):
e = self
while e!=None and e.__clave!=c:
ea = e
e = e.__siguiente
if e:
e.__valor = v
return e
if ea.__clave == None:
ea.__clave = c
ea.__valor = v
return ea
e = listaClaveValor(c,v)
ea.__siguiente = e
return e
def longitud(self):
e = self
n = 0
while e!=None:
n = n + 1
e = e.__siguiente
return n
def valor(self):
return self.__valor
def clave(self):
return self.__clave
def siguiente(self):
return self.__siguiente
def __str__(self):
e = self
s = '['
if self.__clave == None:
return '[]'
while e!=None:
s = s + str(e.__clave) + ','
e = e.__siguiente
return s[:-1] + ']'
autos.py
from dispersion import *
class auto:
def __init__(self, patente, marca, fabricacion, propietario):
self._patente = patente
self._marca = marca
self._fabricacion = fabricacion
self._propietario = propietario
def marca(self):
return self._marca
def propietario(self):
return self._propietario
def fabricacion(self):
return self._fabricacion
def hashPatente(p):
b = 13
h = 0
for i in range(0,6):
h = h + b**i * ord(p[i])
return h
mapa = hashTableXXX(h=11, hash=hashPatente)
pa1 = 'ADF565'
pa2 = 'RUY276'
pa3 = 'ETI127'
pa4 = 'AE5328'
pa5 = 'BRY070'
pa6 = 'WER808'
pa7 = 'WGJ756'
pa8 = 'YEW423'
pa9 = 'VFU112'
a1 = auto(pa1, 'Toyota', 1990, 'Juan')
a2 = auto(pa2, 'Volkswagen', 1993, 'Antonio')
a3 = auto(pa3, 'Fiat', 1997, 'Adriana')
a4 = auto(pa4, 'Toyota', 2001, 'Lucia')
a5 = auto(pa5, 'Peugeot', 2003, 'Maria')
a6 = auto(pa6, 'Fiat', 2006, 'Jose')
a7 = auto(pa7, 'Toyota', 2007, 'Mariano')
a8 = auto(pa8, 'Volkswagen', 2008, 'Hernan')
a9 = auto(pa9, 'Peugeot', 2009, 'Pedro')
mapa.insertar(pa1, a1)
print "insertando", pa1, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa2, a2)
print "insertando", pa2, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa3, a3)
print "insertando", pa3, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa4, a4)
print "insertando", pa4, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa5, a5)
print "insertando", pa5, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa6, a6)
print "insertando", pa6, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa7, a7)
print "insertando", pa7, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa8, a8)
print "insertando", pa8, mapa.estado(), "carga:", mapa.factorCarga()
mapa.insertar(pa9, a9)
print "insertando", pa9, mapa.estado(), "carga:", mapa.factorCarga()
print "buscando..."
for p in [pa1,pa2,pa3,pa4,pa5,pa6,pa7,pa8,pa9]:
a = mapa.buscar(p)
print p,a.marca(),a.propietario()
No hay comentarios.:
Publicar un comentario