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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: 1 2 [3] 4 5
21  Programación / Scripting / [Aporte] Aprende a programar juegos Python en: 5 Septiembre 2015, 11:41 am
Pues eso...

Supongo que es un libro que conocereis todos. Poco a poco,  su autor lo ha ido traduciendo a la lengua de Cervantes. Y ahora, creo,  esta mas o menos completo.

A ver si se anima y traduce tambien los otros que tiene. Ya que pintan muy bien.
Desde aqui doy las gracias a su autor por la iniciativa.

Inventa tus propios juegos de computadora con Python
http://inventwithpython.com/es/
22  Programación / Scripting / ¿Como obtener una combinacion mediante su indice? en: 17 Julio 2015, 21:32 pm
Pues me he estancado.

Aunque ya he realizado alguna consulta por la web, no le veo solucion a mi duda. O todavia no tengo los conocimientos para desarrollar el codigo.
Mi duda:

Escogemos 100 numeros del 1 al 100. Y acto seguido pedimos las combinaciones de 5 grupos. Total 75287520 combinaciones. Correcto. Pero,  si por ejemplo, quiero que me de la combinacion con su indice 1000000 me tarda unos 9 segundos a recorrer dichas combinaciones con un ciclo FOR (que tambien probe con un WHILE).

¿Como le puedo pedir a un script que me devuelva de forma inmediata las combinaciones a traves del indice que se le indica? Ya no hablo de arreglos (que se podria hacer para pocos vectores).

La duda me viene por que no se como los programas construyen las combinaciones o el algoritmo que usan.
 
En el ejemplo que detallo, para encontrar la combinacion que se haya en la posicion o indice 1000000 tarda unos 9 segundos ¿Se puede hacer que de forma inmediata nos la de? Con un FOR, creo, desde luego que no. Ya que debe recorrer todas ellas hasta llegar a la posicion 1000000

Código
  1. import itertools
  2. from datetime import datetime
  3.  
  4.  
  5. inicio = datetime.now()
  6. muestra = tuple(range(1, 101))
  7. for indice, x in enumerate(itertools.combinations(muestra, 5),1):
  8.    print(indice, x)
  9.    if indice == 1000000:
  10.        print('La combinacion con indice', indice, 'es', x)
  11.        break
  12.  
  13. final = datetime.now()
  14. tiempo = final - inicio
  15. print(tiempo)

Salida:

Código
  1. ...
  2. 999994 (1, 9, 18, 21, 29)
  3. 999995 (1, 9, 18, 21, 30)
  4. 999996 (1, 9, 18, 21, 31)
  5. 999997 (1, 9, 18, 21, 32)
  6. 999998 (1, 9, 18, 21, 33)
  7. 999999 (1, 9, 18, 21, 34)
  8. 1000000 (1, 9, 18, 21, 35)
  9. La combinacion con indice 1000000 es (1, 9, 18, 21, 35)
  10. 0:00:09.510784
  11.  

Si pedimos un indice mayor o jugamos con otras combinaciones, nos puede arrojar horas, dias o semanas en devolvernos la combinacion con el indice pedido ¿No?

23  Programación / Scripting / [PYTHON] Saber si un elemento esta en una matriz en: 8 Abril 2015, 19:34 pm
Hola.

Antes de postear he dudado en hacerlo. Porque supongo que la solución será muy fácil. Pero por más que le doy vueltas no doy con la tecla.

Para saber si un elemento esta en una lista o vector, solo hemos de hacer así:

Código
  1. num = 4
  2. lista = [1,2,3,4,5]
  3. num in lista

Y nos devuelve True.

¿Pero como hacerlo 'fácil' si hemos de hacer la comprobación en una matriz?

Código
  1. num = 4
  2. matriz = [[1,2,3],[4,5,6],[7,8,9]]
  3. num in lista

Logicamente nos devolverá False. Ya que comprobará el número 4 con una lista o vector entero.

Hacer esto, no lo veo del todo bien:

Código
  1. num in matriz[0] or num in matriz[1] or num in matriz[2]

Y si usamos un ciclo For, como el número a comprobar esta en matriz[1], nos devolverá False. Ya que la variable de control del For se detendrá en matriz[2]. Y como allí no esta el 4, dará False.

La pregunta, es, ¿Cómo enfocarlo en estos casos?


Bueno, saludos!
24  Programación / Scripting / [PYTHON] ¿Se pueden crear árboles de decisión con funciones y condicionales? en: 6 Diciembre 2014, 14:13 pm
Seguramente se podrá hacer. Pero la mayoría de ejemplos que veo por la red, utilizan el paradigma de POO. Y antes de llegar a dicho paradigma de programación utilizo la funcional.

Se trataría de crear un árbol de decisión o alguno mas simple (por ejemplo árbol binario). Y además, que los datos que se fueran introduciendo se pudieran escribir y leer de un archivo. Es decir, para que nuestro código fuera aprendiendo.

¿Cómo se debería enfocar?

Esta el típico programa que hace de adivinador. Y que a medida que uno le introduce datos, estos se escriben en un archivo para luego no tener que teclearlos de nuevo.

En este enlace https://gist.github.com/adrigm/5330110 el usuario postea un código usando la POO. Me gustaría poder aprender como se haría igual usando IF, funciones, FOR, etc...

Por cierto, no es un trabajo que me hayan mandado hacer. Aprendo los ratos que puedo y por hobby. Gracias!
25  Programación / Scripting / ¿Cómo crear una aventura conversacional? [PYTHON] en: 26 Octubre 2014, 14:19 pm
Hola...

Con el fin de entrenarme un poco con python, me gustaría crear un pequeña aventura conversacional. Es decir, la típica aventura de texto donde damos ordenes por teclado y el personaje se va moviendo por habitaciones (o lugares). Y aparte, que cuente con un inventario y tal. Me gustaría que de momento fuera solo con programación funcional. Es decir, con la ayuda de funciones internas de Python, las nuestras definidas por nosotros y algún módulo. Eso sí, sin tocar la POO para no liarme en exceso.

Con este tipo de programa/juego se pueden asentar las bases sobre vectores, ciclos, matrices, inteligencia artificial, excepciones, ficheros, etc...

He mirado un poco por internet, pero no hay gran cosa ¿Sabéis algo parecido (un tuto) en la lengua de Cervantes?

En todo caso ¿Cómo se debería plantear? Uso de matrices y árboles de decisión, supongo...

Bueno, espero alguna idea...saludos!
26  Programación / Scripting / [PYTHON] ¿Cómo eliminar las secuencias de escape en archivos CSV? en: 22 Julio 2014, 19:42 pm
Pues eso...abro un archivo CSV en Python y recorro sus líneas con un FOR. Creando un lista. Pero al final me sale la secuencia de escape del tabulador. Y yo no quiero que se vea '\t'

Código
  1. lineas = csv.reader(leer)
  2. for i in lineas:
  3.    lista.append(i)
  4. cont = 1
  5. for i in lista:
  6.    print('Lista ',cont,'=',i)
  7.    cont += 1
  8.  

SALIDA:

Lista  14 = ['10', '20', '30', '40', '50', '60\t\t\t\t\t'] # Las \t últimas no quiero que las muestre :(
27  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / Tablet para programar ¿ANDROID O WINDOWS 8? en: 9 Junio 2014, 11:05 am
Hola,

Para programar utilizo un PC. Como es normal. Hace poco baje un app ANDROID de Python para probar pequeños códigos en el teléfono móvil. La duda es:

¿En una tablet se puede programar?

Osea...¿Puede instalar Python y programar en ella? En ese caso ¿Es mejor ANDROID ó WINDOWS 8?
28  Programación / Programación General / ¿Con las tres estructuras básicas se pueden hacer todos los programas? en: 23 Noviembre 2013, 10:01 am
Me choco ver esta afirmación (aunque yo lo pregunte aquí). Es decir, en un libro he leído que Böhm y Jacopini demostraron que con las tres estructuras básicas: secuenciales, selectivas y repetitivas se pueden crear todos los programas.

Ya no me refiero a programas con entornos gráficos y los de hoy en día. Si no, mas bien, que en esencia con estas tres estructuras se puede hacer de todo. Esta claro que se necesitara mas código y repetiremos parte de mismo muchas veces.

Es solo como duda. Por que lo normal es usar funciones, procedimientos, arreglos, definición de tipos de datos propios, etc...pero claro, todas estas operaciones están desarrolladas con esas estructuras básicas de control (secuenciales, selectivas y repetitivas) ¿No?
29  Programación / Programación General / ¿Que matemáticas recomendáis para programar como hobby? en: 22 Noviembre 2013, 18:50 pm
Hola a todos!

Ya parto de la base que la matemáticas son necesarias en programación. Por eso no hago la típica pregunta si son necesarias para programar.

Bueno, yo estoy aprendiendo Pascal como hobby. Ya se que muchos dirán que es de la época de Los Picapiedra. Pero bueno, a mi me gusta y lo aprendo por hobby.

Con esa premisa, la duda surge, que tipo de matemáticas estudiar. La verdad, que ya ni me acuerdo de hacer ecuaciones, ni sumar polinomios y demás operaciones algebraicas. Por eso pensé que lo mejor era coger un libro de secundaria y estudiarlo. Tampoco quiero aprender conceptos matemáticos de forma surrealista. Osea, quiero hacer mis programilllas y tal.

Preguntando al Sr. Google, la mayoría de la gente suele contestar las matemáticas discretas. Osea, las que se apoyan en tablas de verdad, booleanos y algoritmia.

Es que si no, se me puede hacer muy pesado estudiar matemáticas y programación a la vez.

Yo había pensado en las mates básicas y como mucho llegar a las ecuaciones. Pero eso sí, no quiero estudiar conceptos si no los voy a utilizar.

¿Qué me recomendáis? Saludos!
30  Programación / Scripting / [PYTHON] ¿Una lista no se puede meter dentro de si misma? en: 30 Marzo 2013, 21:11 pm
Estoy haciendo pruebas en el tema de objetos list (listas). Y no hay ningún problema cuando metemos en una lista otra lista. Pero claro, cuando la otra es diferente.

Se me ocurrió meter dentro de la lista creada, a ella misma. De esta forma:

Código
  1. lista = [1,2,3,4,5]
  2.  
  3. lista.append (lista)
  4.  
  5. print lista

Y me arroja este resultado:

Código
  1. [1, 2, 3, 4, 5, [...]]

¿No debería haber sido?:

Código
  1. [1, 2, 3, 4, 5, [1,2,3,4,5]]

Es decir, lista dentro de lista  :huh:
Páginas: 1 2 [3] 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines