He aquí un nuevo reto a ver quién lo tiene más corto >:D
El input del programa será una lista de números mayores a 0 ordenados y separados por espacios.
El script debe de encontrar rangos de números consecutivos y agruparlos, y dejar los que no estan consecutivos separados.
El output serán esos rangos separados por coma y espacio.
Ej:
INPUT: 1 2 5 8 9 10 11 18
OUTPUT: 1-2, 5, 8-11, 18
INPUT: 3 6 9 10 12 13
OUTPUT: 3, 6, 9-10, 12-13
Saludos!
Una pregunta, meter los datos desordenados no valdria no ??? ;).
Sa1uDoS
No, los datos se ingresan ordenados y se considera que se mete una muestra "buena", así que no es necesario verificar nada. Además eso se arreglaría con un simple sort,por eso directamente lo he obviado.
Saludos
Me apunto >:D
Por cierto, se devuelve una cadena de texto, no?
Exacto, imprimir una cadena. Yo por ahora tengo un código funcional pero me resulta muy largo, y se que se puede hacer más corto, así que voy a ver si tomo las cosas por otro lado :P
Saludos
Jaja me gustan estos retos :D
No he contado pero ahi va el mio, en mi estilo ONE-LINE
la entrada va en l, no la he recogido, voy a cenar ya no tengo tiempo
ME ha costado un buen rato, depurar cosas de 1 linea es superchungo
for i in reduce(lambda l,x:l[:-1]+[l[-1]+[x][x-l[-1][-1]-1:]]+[[x]][:x-l[-1][-1]-1],l[1:],[l[0:1]]):print str(i[0])+(len(i)-1 and'-'+str(i[-1])or''),',',
con
l=[1,3,5,6,7,8,10,13,14,17]
output
1 , 3 , 5-8 , 10 , 13-14 , 17 ,
Cuente Cuente, son 3 ojos! (no sé cuantos bytes :laugh:)
Ukol, no estas cumpliendo los requisitos del reto! Has de recibir una cadena de numeros separados por espacios...
Eso mismo, y la salida debe de ser número->coma->espacio->otra vez :P
154 bytes, pero te falta el input :P
Saludos
Lo minimo que he conseguido, cumpliendo todas las reglas del reto, han sido 153 bytes :-\
e,s=1,''
def m(x,y):
global e,s
if int(x)-int(y)-1:s+=y+', ';e=1
elif e:s+=y+'-';e=0
return 0
a=sorted(raw_input().split(),cmp=m)[-1];print s+a
Supongo que debe haber una forma mas simple, pero no se me ocurre :laugh:
Un saludo :D
Nadie mas? Uiiis.. que soso el reto :P
Cita de: Karcrack en 16 Enero 2011, 19:07 PM
Nadie mas? Uiiis.. que soso el reto :P
Demasiado level tio jejejeje si quieres mas participantes esperate antes de postear jajajaja
un saludo ;-)
Venga Novlucker! No dejes un reto a medias :rolleyes: :rolleyes: :P
Dame tiempo que estoy "luchando" con otras cosas :xD
Saludos
Debe ser una batalla feroz.... >:D :laugh: :laugh: