elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Reto/Juego Ejercicios en Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Reto/Juego Ejercicios en Python  (Leído 25,256 veces)
lDanny

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #20 en: 6 Octubre 2010, 13:00 »

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.
Código
  1. def descomponer(L):
  2. M=[]
  3. j=-3
  4. for i in range(4):
  5. M.append(int(L[j+3:j+5]))
  6. j+=3
  7. return M
  8.  
  9. def esSecuencia(L,nreuniones):
  10. M=[]
  11. M.append(L[0])
  12. b= True
  13. for i in range(nreuniones):
  14. for j in range (len(M)):
  15. if ((L[i][2]<M[j][0]) or (L[i][0]>M[j][2])
  16. 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])):
  17. b= b and True
  18. else:
  19. b = False
  20. if (b):
  21. M.append(L[i])
  22. b=True
  23. return M
  24. a = input('Cantidad de Reuniones:  ')
  25. if (a>1440):
  26. print 'El numero de reuniones a las que se puede asistir son 1440 no mas'
  27. exit()
  28. L=[]
  29. for i in range(a):
  30. L.append(raw_input('Pon las horas de la reunion %d:  '%i))
  31. for i in range(a):
  32. L[i]=descomponer(L[i])
  33. L=esSecuencia(L,a)
  34. print 'Valor de Salida'
  35. print 'Cantidad de Reuniones Aptas:  ',len(L)
  36. for i in range (len(L)):
  37. print '%d)'%i,L[i][0],':',L[i][1],'-',L[i][2],':',L[i][3]
  38.  
  39.  

Como hacen para que poner el codigo en colores al postearlo. Gracias


« Última modificación: 6 Octubre 2010, 19:05 por lDanny » En línea

Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #21 en: 6 Octubre 2010, 13:14 »

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:
Citar
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 :P, ej:
Citar
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? :D

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 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 Desconectado

Mensajes: 21


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #22 en: 7 Octubre 2010, 12:33 »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #23 en: 7 Octubre 2010, 12:35 »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #24 en: 25 Noviembre 2010, 17:56 »

Hoy he recordado que el reto de Hombre de Negocios de Lord R.N.A. estaba pendiente, así que ...
Código
  1. import itertools
  2. import time
  3.  
  4. n = input('Cantidad de reuniones: ')
  5. text = [raw_input('Reunion (%i): '%(i+1)).split('-') for i in range(n)]
  6.  
  7. horarios = [[time.strptime(r,'%H:%M') for r in h] for h in text]
  8. permuta = list(itertools.permutations(horarios))
  9. posibles, maximo = [], 0
  10.  
  11. for horario in permuta:
  12.    temp = [horario[0]]
  13.    for hora in horario[1:]:
  14.        if temp[len(temp)-1][1] <= hora[0]:
  15.            temp.append(hora)
  16.    if temp not in posibles:
  17.        posibles.append(temp)
  18.        if len(temp)>maximo:
  19.            maximo = len(temp)
  20.  
  21. horarios = [[time.strftime('%H:%M',r[0])+'-'+time.strftime('%H:%M',r[1]) for r in i] for i in posibles]
  22.  
  23. n = 1
  24. print '\nEl numero maximo de reuniones es %i'%maximo
  25. for hora in horarios:
  26.    if len(hora)==maximo:
  27.        print '\n-- Opcion %i --' % n
  28.        m = 1
  29.        for h in hora:
  30.            print '%i)%s' % (m,h)
  31.            m += 1
  32.        n += 1

Creo que no es el método más optimo y seguramente se pueda mejorar el código, pero da igual :P

Código:
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 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 Desconectado

Mensajes: 15


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #25 en: 27 Noviembre 2010, 19:43 »

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 :D
En línea

Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #26 en: 29 Noviembre 2010, 11:41 »

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 Desconectado

Mensajes: 15


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #27 en: 29 Noviembre 2010, 20:03 »

pero bueno aunque haya un ejercicio pendiente no han posteado mas nada, de todas formas voy a hacerlo :D y vemos que sale!!!
graciass
En línea

n1co

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #28 en: 29 Noviembre 2010, 20:12 »

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. :D
En línea

Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Reto/Juego Ejercicios en Python
« Respuesta #29 en: 29 Noviembre 2010, 20:29 »

Basicamente tienes que tener sockets escuchando en esos puertos y ver si hay intentos de conexión en esa secuencia :P

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
Páginas: 1 2 [3] 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Sockets en Python [+Ejemplos y Ejercicios]
Scripting
Erik# 4 12,620 Último mensaje 4 Abril 2013, 16:43
por SelTzeR
Juego ejercicios [Python] « 1 2 ... 15 16 »
Ejercicios
Masita 150 80,726 Último mensaje 30 Mayo 2011, 20:44
por caro.bello
Ejercicios Python! [Nivel:Principiante]
Ejercicios
kyps 6 18,871 Último mensaje 8 Abril 2010, 19:46
por xyz0k
Nevos Ejercicios En C# Reto!!!!
Ejercicios
Luiskalos 2 10,279 Último mensaje 7 Enero 2011, 11:28
por Novlucker
Ayuda ejercicios de python
Scripting
jasson94 2 2,100 Último mensaje 30 Octubre 2012, 01:39
por jasson94
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines