<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type>
<META content="MSHTML 5.00.2314.1000" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT color=#000080 face=Arial size=2>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</FONT></DIV>
<DIV><FONT color=#000080 face=Arial size=2>gracias!!</FONT></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV><FONT color=#000080 face=Arial size=2>#tramos costes</FONT></DIV>
<DIV> </DIV>
<DIV><FONT color=#000080 face=Arial size=2>def minimo(lista):<BR>
min=lista[0]<BR> for i in range(0,len(lista)):<BR> if
lista[i]<min:<BR> min=lista[i]<BR> return
min</FONT></DIV>
<DIV> </DIV>
<DIV><FONT color=#000080 face=Arial size=2><BR>def
recorrer(coste,tramo,ini,fin):<BR> <BR> lista_aux=[]<BR>
lista_min=[]<BR> if ini<=fin: #recorremos la lista de ppio a
fin<BR> while ini<=fin:<BR>
coste_tramo=lista_aux+tramo[ini]<BR>
lista_aux=lista_aux+tramo[ini]<BR>
ini=ini+1<BR> if
leng[lista_aux]==3:<BR>
lista_min=lista_min+minimo(lista_aux)<BR>
lista_aux=[]<BR> for j in range
(ini,fin):<BR> suma=suma+coste[j]<BR>
for k in range (0,len(lista_min)):<BR>
suma_minimos=suma_minimos+lista_min[k]<BR>
rdo=suma-suma_minimos<BR> <BR> return
rdo<BR> <BR>#programa ppal</FONT></DIV>
<DIV> </DIV>
<DIV><FONT color=#000080 face=Arial
size=2>tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12]<BR>coste=[2,3,2,2,1,2,3,4,4,2,3,3,2]<BR>
<BR>ini=int(raw_input('Introduce ini: '))<BR>fin=int(raw_input('introduce fin:
'))<BR>res=recorrer(coste,tramo,ini,fin)<BR>print res</FONT></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV><FONT color=#000080 face=Arial size=2>ENUNCIADO</FONT></DIV>
<DIV> </DIV>
<DIV><FONT color=#000080 face=Arial size=2>
<P class=MsoNormal style="TEXT-ALIGN: justify">Implementa una funcion denominada
longitudruta q, dada una ruta formada por una lista de nombres de ciudades y
otra lista con la<SPAN style="mso-spacerun: yes"> </SPAN>distancias entre
pares de ciudades, devuelva la longitud de dicha ruta.</P>
<P class=MsoNormal style="TEXT-ALIGN: justify"> 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. </P>
<P class=MsoBodyText>Cada tramo sera a su vez una lista con el formato
[cadena,cadena,entero]<SPAN style="mso-spacerun: yes"> </SPAN>(las 2
cadenas son nombres de ciudades y el entero la distancia en kilómetros entre
ellas)</P>
<P class=MsoBodyText>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.</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Ejemplo:</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Dist=[]</P>
<P class=MsoNormal
style="TEXT-ALIGN: justify">Dist.append([‘alicante’,’valencia’,166])</P>
<P class=MsoNormal
style="TEXT-ALIGN: justify">Dist.append([‘castellon’,’valencia’,65])</P>
<P class=MsoNormal
style="TEXT-ALIGN: justify">Dist.append([‘tarragona’,castellon’,186])</P>
<P class=MsoNormal
style="TEXT-ALIGN: justify">Ruta1=[‘castellon’,’valencia’,’alicante’]</P>
<P class=MsoNormal
style="TEXT-ALIGN: justify">Ruta2=[‘castellon’,’alicante’,’valencia’]</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Print ‘longitud ruta1:’,
longitud(ruta1,dist)</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Print ‘longitud ruta2:’
longitudruta(ruta2,dist)</P>
<P class=MsoNormal style="TEXT-ALIGN: justify"> Al ejecutarlo , se
escribira x pantalla:</P>
<P class=MsoNormal style="TEXT-ALIGN: justify"> Longitud ruta1: 231</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Longitud ruta2: none</P>
<P class=MsoNormal style="TEXT-ALIGN: justify"> <?xml:namespace prefix = o
ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Importante:</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">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.</P>
<P class=MsoNormal style="TEXT-ALIGN: justify"> La segunda ruta no puede
calcularse pq en la lista dist del ejemplo no aparece la distancia
‘castellon’-‘alicante’ ni ‘alicante’-‘castellon’</P></FONT></DIV></BODY></HTML>