<!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>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000080 face=Arial size=2>#tramos costes</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000080 face=Arial size=2>def minimo(lista):<BR>&nbsp; 
min=lista[0]<BR>&nbsp; for i in range(0,len(lista)):<BR>&nbsp;&nbsp;&nbsp; if 
lista[i]&lt;min:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; min=lista[i]<BR>&nbsp; return 
min</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000080 face=Arial size=2><BR>def 
recorrer(coste,tramo,ini,fin):<BR>&nbsp;&nbsp; <BR>&nbsp; lista_aux=[]<BR>&nbsp; 
lista_min=[]<BR>&nbsp; if ini&lt;=fin: #recorremos la lista de ppio a 
fin<BR>&nbsp;&nbsp;&nbsp; while ini&lt;=fin:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
coste_tramo=lista_aux+tramo[ini]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
lista_aux=lista_aux+tramo[ini]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
ini=ini+1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
leng[lista_aux]==3:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
lista_min=lista_min+minimo(lista_aux)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
lista_aux=[]<BR>&nbsp;&nbsp;&nbsp; for j in range 
(ini,fin):<BR>&nbsp;&nbsp;&nbsp;&nbsp; suma=suma+coste[j]<BR>&nbsp;&nbsp;&nbsp; 
for k in range (0,len(lista_min)):<BR>&nbsp;&nbsp;&nbsp;&nbsp; 
suma_minimos=suma_minimos+lista_min[k]<BR>&nbsp;&nbsp;&nbsp; 
rdo=suma-suma_minimos<BR>&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; return 
rdo<BR>&nbsp;<BR>#programa ppal</FONT></DIV>
<DIV>&nbsp;</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>&nbsp; 
<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>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000080 face=Arial size=2>ENUNCIADO</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000080 face=Arial size=2>&nbsp;
<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">&nbsp; </SPAN>distancias entre 
pares de ciudades, devuelva la longitud de dicha ruta.</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">&nbsp;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">&nbsp;&nbsp; </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">&nbsp;Al ejecutarlo , se 
escribira x pantalla:</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">&nbsp;Longitud ruta1: 231</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">Longitud ruta2: none</P>
<P class=MsoNormal style="TEXT-ALIGN: justify">&nbsp;<?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">&nbsp;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>