problema de listas

Sonia siosss en ono.com
Jue Ago 14 20:06:42 CEST 2003


es ya esta una buana forma de operar con listas??

#tramos costes

def minimo(lista):
  min=lista[0]
  for i in range(0,len(lista)):
    if lista[i]<min:
      min=lista[i]
  return min


def recorrer(coste,tramo,ini,fin):


  lista_aux=[]
  lista_min=[]
  if ini<=fin: #recorremos la lista de ppio a fin
    while ini<=fin:
      coste_tramo=lista_aux
      coste_tramo.append(tramo[ini])
      lista_aux.append(tramo[ini])
      ini=ini+1
      if len(lista_aux)==3:
        lista_min.append(minimo(lista_aux))
        lista_aux=[]
    for j in range (ini,fin):
     suma=suma+coste[j]
    for k in range (0,len(lista_min)):
      suma_minimos=suma_minimos+lista_min[k]
    rdo=suma-suma_minimos # esta mal esto??
    #es q me da el error de q suma esta referenciada antes de asiganar o
algo de eso

    return rdo

#programa ppal

tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12]
coste=[2,3,2,2,1,2,3,4,4,2,3,3,2]

ini=int(raw_input('Introduce ini: '))
fin=int(raw_input('introduce fin: '))
res=recorrer(coste,tramo,ini,fin)
print res


----- Original Message -----
From: Marcos Sánchez Provencio <rapto en arrakis.es>
To: La lista de python en castellano <python-es en aditel.org>
Sent: Thursday, August 14, 2003 4:36 AM
Subject: Re: [Python-es] problema de listas


> No puedes sumar una lista y un elemento. Puedes sumar dos listas o hacer
> append de un elemento
>
> a = [0]
> a = a + [1,2]
> a.append(3)
>
> Echando cuentas, creo que debes unas 40 cañas...
>
> Sonia wrote:
> > os dejo un problema sobre listas pq me dan fallos sobre concatenacion, q
> > se ve q no se peuden hacer. pongo el codigo por si veis donde hay 'cosas
> > raras' y a continuacion pego el enunciado para no crear mas dudas
> > gracias!!
> >
> >
> > #tramos costes
> >
> > def minimo(lista):
> >   min=lista[0]
> >   for i in range(0,len(lista)):
> >     if lista[i]<min:
> >       min=lista[i]
> >   return min
> >
> >
> > def recorrer(coste,tramo,ini,fin):
> >
> >   lista_aux=[]
> >   lista_min=[]
> >   if ini<=fin: #recorremos la lista de ppio a fin
> >     while ini<=fin:
> >       coste_tramo=lista_aux+tramo[ini]
> >       lista_aux=lista_aux+tramo[ini]
> >       ini=ini+1
> >       if leng[lista_aux]==3:
> >         lista_min=lista_min+minimo(lista_aux)
> >         lista_aux=[]
> >     for j in range (ini,fin):
> >      suma=suma+coste[j]
> >     for k in range (0,len(lista_min)):
> >      suma_minimos=suma_minimos+lista_min[k]
> >     rdo=suma-suma_minimos
> >
> >     return rdo
> >
> > #programa ppal
> >
> > tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12]
> > coste=[2,3,2,2,1,2,3,4,4,2,3,3,2]
> >
> > ini=int(raw_input('Introduce ini: '))
> > fin=int(raw_input('introduce fin: '))
> > res=recorrer(coste,tramo,ini,fin)
> > print res
> >
> >
> >
> > ENUNCIADO
> >
> >
> >
> > Implementa una funcion denominada longitudruta q, dada una ruta formada
> > por una lista de nombres de ciudades y otra lista con la  distancias
> > entre pares de ciudades, devuelva la longitud de dicha ruta.
> >
> >  La funcion longitudruta recibe como 1er parámetro una lista de
> > cadenas(cada cadena sera el nombre de una ciudad, por lo q tomaremos la
> > lsta como una ruta de viaje) y como segundo parámetro una lista de
tramos.
> >
> > Cada tramo sera a su vez una lista con el formato
> > [cadena,cadena,entero]   (las 2 cadenas son nombres de ciudades y el
> > entero la distancia en kilómetros entre ellas)
> >
> > Si la funcion longitudruta no puede calcular la longitud de la ruta
> > debido a q en el segundo parámetro falta alguna distancia entre las
> > ciudades q es necesaria, entonces debe devolver none, para indicar q la
> > longitud de la ruta no puede calcularse.
> >
> > Ejemplo:
> >
> > Dist=[]
> >
> > Dist.append([‘alicante’,’valencia’,166])
> >
> > Dist.append([‘castellon’,’valencia’,65])
> >
> > Dist.append([‘tarragona’,castellon’,186])
> >
> > Ruta1=[‘castellon’,’valencia’,’alicante’]
> >
> > Ruta2=[‘castellon’,’alicante’,’valencia’]
> >
> > Print ‘longitud ruta1:’, longitud(ruta1,dist)
> >
> > Print ‘longitud ruta2:’ longitudruta(ruta2,dist)
> >
> >  Al ejecutarlo , se escribira x pantalla:
> >
> >  Longitud ruta1: 231
> >
> > Longitud ruta2: none
> >
> >
> >
> > Importante:
> >
> > Ten en cuenta q en la lista dist del ejemplo no aparece la distancia
> > ‘valencia’-‘alicante’, sino la distancia ‘alicante’-‘valencia’. Es
> > decir, cuando busques la distancia entre 2 ciudades deberas buscar ambas
> > posibilidades, antes de indicar q la ruta no puede calcularse.
> >
> >  La segunda ruta no puede calcularse pq en la lista dist del ejemplo no
> > aparece la distancia ‘castellon’-‘alicante’ ni ‘alicante’-‘castellon’
> >
> >
>
>
>


----------------------------------------------------------------------------
----


_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es