Autor
|
Tema: Reto/Juego Ejercicios en Python (Leído 35,693 veces)
|
lDanny
Desconectado
Mensajes: 21
|
Hola, es la primera vez que posteo codigo y recien he empezado con python asi que si me dicen como puedo reducir codigo o hacerlo mas optimo, lo agradeceria. Lord R.N.A. creo que tengo el Reto:Hombre de Negocios la parte Dificil Cuando te pide ingresar las horas de la reunion tiene que ser de la siguiente manera: 09:00-10:00 ya que si pone 9:00-10:00 da error Aver si siguen poniendo mas retos. def descomponer(L): M=[] j=-3 for i in range(4): M.append(int(L[j+3:j+5])) j+=3 return M def esSecuencia(L,nreuniones): M=[] M.append(L[0]) b= True for i in range(nreuniones): for j in range (len(M)): if ((L[i][2]<M[j][0]) or (L[i][0]>M[j][2]) or (L[i][2]==M[j][0] and L[i][3]<M[j][1]) or (L[i][0]==M[j][2] and L[i][1]>M[j][3])): b= b and True else: b = False if (b): M.append(L[i]) b=True return M a = input('Cantidad de Reuniones: ') if (a>1440): print 'El numero de reuniones a las que se puede asistir son 1440 no mas' exit() L=[] for i in range(a): L.append(raw_input('Pon las horas de la reunion %d: '%i)) for i in range(a): L[i]=descomponer(L[i]) L=esSecuencia(L,a) print 'Valor de Salida' print 'Cantidad de Reuniones Aptas: ',len(L) for i in range (len(L)): print '%d)'%i,L[i][0],':',L[i][1],'-',L[i][2],':',L[i][3]
Como hacen para que poner el codigo en colores al postearlo. Gracias
|
|
« Última modificación: 6 Octubre 2010, 19:05 pm por lDanny »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Buenas lDanny, decir que para recién haber empezado lo tienes bastante bien planteado, pero ten en cuenta algo, estas omitiendo los horarios en los que la hora de entrada coincide con una de salida, ej: Cantidad de Reuniones: 4 Pon las horas de la reunion 0: 06:00-07:00 Pon las horas de la reunion 1: 07:00-08:00 Pon las horas de la reunion 2: 08:00-09:00 Pon las horas de la reunion 3: 09:00-10:00 Valor de Salida Cantidad de Reuniones Aptas: 2 0) 6 : 0 - 7 : 0 1) 8 : 0 - 9 : 0 Además ten en cuenta otra cosa, como lo tienes partes de la idea de que siempre va a tener esa primera reunión, pero eso siempre y cuando se ingresen en orden, además de que quizás el empezar por la reunión 1 (indice 0) quizas no es la mejor opción, y si empezara por la dos sería más optimo , ej: Cantidad de Reuniones: 3 Pon las horas de la reunion 0: 10:00-14:00 Pon las horas de la reunion 1: 11:00-12:00 Pon las horas de la reunion 2: 13:00-14:00 Valor de Salida Cantidad de Reuniones Aptas: 1 0) 10 : 0 - 14 : 0 Según el script el número máximo de reuniones es 1, pero que si en lugar de ir a la 1 voy a la 2 y 3? Para ponerle color, tienes la etiqueta de nombre Geshi, que es lo mismo que poner la etiqueta de código normal sumandole el lenguaje, ej: [ code=python][ /code] Saludos
|
|
« Última modificación: 6 Octubre 2010, 13:35 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
lDanny
Desconectado
Mensajes: 21
|
Hola, bueno buscando cosas para programar me tope con projecto euler bueno el problema 12, me da problemas no por el codigo si no como optimizarlo ya que se demora mucho. Queria saber si puedo poner el problema aqui aver si ponen codigo que sean optimos. Para aprender mas cosas. Gracias
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Claro que si, pero abre otro post con el problemita Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Hoy he recordado que el reto de Hombre de Negocios de Lord R.N.A. estaba pendiente, así que ... import itertools import time n = input('Cantidad de reuniones: ') text = [raw_input('Reunion (%i): '%(i+1)).split('-') for i in range(n)] horarios = [[time.strptime(r,'%H:%M') for r in h] for h in text] permuta = list(itertools.permutations(horarios)) posibles, maximo = [], 0 for horario in permuta: temp = [horario[0]] for hora in horario[1:]: if temp[len(temp)-1][1] <= hora[0]: temp.append(hora) if temp not in posibles: posibles.append(temp) if len(temp)>maximo: maximo = len(temp) horarios = [[time.strftime('%H:%M',r[0])+'-'+time.strftime('%H:%M',r[1]) for r in i] for i in posibles] n = 1 print '\nEl numero maximo de reuniones es %i'%maximo for hora in horarios: if len(hora)==maximo: print '\n-- Opcion %i --' % n m = 1 for h in hora: print '%i)%s' % (m,h) m += 1 n += 1
Creo que no es el método más optimo y seguramente se pueda mejorar el código, pero da igual Cantidad de reuniones: 5 Reunion (1): 7:30-10:00 Reunion (2): 16:50-18:00 Reunion (3): 11:00-17:00 Reunion (4): 9:00-12:00 Reunion (5): 15:00-16:00
El numero maximo de reuniones es 3
-- Opcion 1 -- 1)07:30-10:00 2)15:00-16:00 3)16:50-18:00
-- Opcion 2 -- 1)09:00-12:00 2)15:00-16:00 3)16:50-18:00 Saludos
|
|
« Última modificación: 25 Noviembre 2010, 18:09 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
n1co
Desconectado
Mensajes: 15
|
esto ya murio e ?, soy nuevo y esta bueno eso de participar en los juegitos/ejercicios, bueno si quieren publicar mas, ya cuenten con uno mas
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
n1co, de hecho no esta del todo muerto, fijate que más arriba Lord R.N.A había dejado otro ejercicio que aún esta pendiente.
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
n1co
Desconectado
Mensajes: 15
|
pero bueno aunque haya un ejercicio pendiente no han posteado mas nada, de todas formas voy a hacerlo y vemos que sale!!! graciass
|
|
|
En línea
|
|
|
|
n1co
Desconectado
Mensajes: 15
|
n1co, de hecho no esta del todo muerto, fijate que más arriba Lord R.N.A había dejado otro ejercicio que aún esta pendiente.
Saludos
No entiendo bien el ejercicio en que consta, tal vez soy muy novato, o tal vez me parece muy facil, si puedes contarme un poquito te agradeceria.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Basicamente tienes que tener sockets escuchando en esos puertos y ver si hay intentos de conexión en esa secuencia Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python] Sockets en Python [+Ejemplos y Ejercicios]
Python
|
Erik#
|
4
|
15,195
|
4 Abril 2013, 16:43 pm
por SelTzeR
|
|
|
Juego ejercicios [Python]
« 1 2 ... 15 16 »
Ejercicios
|
Masita
|
150
|
110,813
|
30 Mayo 2011, 20:44 pm
por caro.bello
|
|
|
Ejercicios Python! [Nivel:Principiante]
Ejercicios
|
kyps
|
6
|
21,315
|
8 Abril 2010, 19:46 pm
por xyz0k
|
|
|
Nevos Ejercicios En C# Reto!!!!
Ejercicios
|
Luiskalos
|
2
|
11,948
|
7 Enero 2011, 11:28 am
por Novlucker
|
|
|
Ayuda ejercicios de python
Python
|
jasson94
|
2
|
3,913
|
30 Octubre 2012, 01:39 am
por jasson94
|
|