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

 

 


Tema destacado:


  Mostrar Temas
Páginas: 1 2 3 4 5 [6] 7 8 9 10
51  Programación / Scripting / Busqueda en la RAE (rae.py) en: 1 Abril 2010, 04:48 am
Código
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # Author : Leo Gutiérrez Ramirez, leorocko13@hotmail.com
  4. # html2txt by Francois Granger, <fgranger@altern.org>
  5. import sys
  6. import re
  7. import urllib
  8.  
  9. def Usage():
  10. print "\nRealiza busquedas en el diccionario de la [Real Academia Española]\n";
  11. print "\t" + sys.argv[0] + " Palabra\n";
  12. sys.exit(1);
  13.  
  14. if len(sys.argv) <= 1:
  15. Usage();
  16.  
  17. url = "http://buscon.rae.es/draeI/SrvltGUIBusUsual?LEMA=" + sys.argv[1]
  18. f = urllib.urlopen(url);
  19. texto = f.read();
  20. f.close();
  21.  
  22. # Convierte el código HMTL a texto para ser mostrado correctamente en la consola:
  23.  
  24. p = re.compile('(<p.*?>)|(<tr.*?>)', re.I)
  25. t = re.compile('<td.*?>', re.I)
  26. comm = re.compile('<!--.*?-->', re.M)
  27. tags = re.compile('<.*?>', re.M)
  28.  
  29. def html2txt(texto, hint = 'entity', code = 'ISO-8859-1'):
  30.        texto = texto.replace('\n', '') # remove returns time this compare to split filter join
  31.        texto = p.sub('\n', texto) # replace p and tr by \n
  32.        texto = t.sub('\t', texto) # replace td by \t
  33.        texto = comm.sub('', texto) # remove comments
  34.        texto = tags.sub('', texto) # remove all remaining tags
  35.        texto = re.sub(' +', ' ', texto) # remove running spaces this remove the \n and \t
  36. # Handling of entities
  37. result = texto;
  38. pass;
  39. return result;
  40. print html2txt(texto);
  41. sys.exit(0);

Modo de uso:
Código:
python rae.py palabra
52  Programación / Java / Duda, código sencillo. en: 3 Marzo 2010, 02:39 am
Hola, estoy iniciandome en Java, y tengo un ejercicio de eliminar los múltiplos de 5 y de 2 en un ArrayList, creo que mi algoritmo está bien, pero no encuentro porque no me elimina todo.

Se supone que es una lista, y voy eliminando la posición "i" en caso de que sea multiplo de 5 o 2.
Código
  1. no los elimina a todos. Mi código es el siguiente:
  2. import java.util.*;
  3. public class *****
  4. {
  5. public static void main(String[] args)
  6. {
  7. ArrayList<Integer> valores = new ArrayList<Integer>();
  8. int valor, limite = 20;
  9. for(int i = 0; i < limite; i++)
  10. {
  11. valor = (int)(Math.random() * 100);
  12. valores.add(valor);
  13. }
  14. System.out.println("Deteccion de multiplos de 5 y 2");
  15. for(int i = 0; i < valores.size(); i++)
  16. {
  17. if(valores.get(i) % 5 == 0)
  18. {
  19. System.out.println(valores.get(i) + " <--- 5");
  20. }
  21. else if(valores.get(i) % 2 == 0)
  22. {
  23. System.out.println(valores.get(i) + " <--- 2 ");
  24. } else {
  25. System.out.println(valores.get(i));
  26. }
  27. }
  28. // Eliminacion:
  29. for(int i = 0; i < valores.size(); i++)
  30. {
  31. if(valores.get(i) % 5 == 0)
  32. {
  33. valores.remove(i);
  34. limite--;
  35. } else if(valores.get(i) % 2 == 0)
  36. {
  37. valores.remove(i);
  38. limite--;
  39. }
  40. }
  41.                        // Verificar
  42. System.out.println("Deteccion de multiplos de 5 y 2");
  43. for(int i = 0; i < valores.size(); i++)
  44. {
  45. if(valores.get(i) % 5 == 0)
  46. {
  47. System.out.println(valores.get(i) + " <--- 5");
  48. }
  49. else if(valores.get(i) % 2 == 0)
  50. {
  51. System.out.println(valores.get(i) + " <--- 2");
  52. } else {
  53. System.out.println(valores.get(i));
  54. }
  55. }
  56.  
  57. }
  58. }

Y esta es la salida:

Código:
Deteccion de multiplos de 5 y 2
59
39
94 <--- 2
9
51
48 <--- 2
92 <--- 2
62 <--- 2
46 <--- 2
94 <--- 2
88 <--- 2
4 <--- 2
25 <--- 5
22 <--- 2
66 <--- 2
63
36 <--- 2
50 <--- 5
71
3
Deteccion de multiplos de 5 y 2
59
39
9
51
92 <--- 2
46 <--- 2
88 <--- 2
25 <--- 5
66 <--- 2
63
50 <--- 5
71
3
53  Programación / Java / try catch, bucle en: 13 Febrero 2010, 00:58 am
Hola a todos.

Mi pregunta es cómo hacer un bucle mientras se ingresen datos de otro tipo, ejemplo:

Código
  1. import java.io.*;
  2. public class pedo
  3. {
  4.        public static void main(String[] args)
  5.        {  
  6.                InputStreamReader isr = new InputStreamReader(System.in);
  7.                BufferedReader br = new BufferedReader(isr);
  8.                int n_elementos;
  9.                while(?)
  10.                {
  11.                        try
  12.                        {
  13.                                n_elementos = Integer.parseInt(br.readLine());
  14.                        } catch(Exception e)
  15.                        {
  16.                                e.printStackTrace();
  17.                        }
  18.                }
  19.        }
  20. }

Repetir el bucle mientras se teclee algo ajeno a un entero, manejar las excepciones.
54  Comunicaciones / Mensajería / (Solucionado)Error, messenger no conecta, error puertos clave, 80072efd en: 9 Febrero 2010, 07:27 am
Hola, recurro a ustedes por desperación, he probado de todo para que el Windows Live Messenger conecte.

Windows Live Messenger 2009, sobre Windows Vista Basic

El código de error es 80072efd, yo sé que el error es muy común, y claro que ya busqué todas las soluciones posibles en la red, pero nada funciona, es imposible.

Llevo más de 4 horas y no ha querido, agradezco cualquier sugerencia.
55  Media / Multimedia / Convertir video a imagenes en: 19 Diciembre 2009, 20:05 pm
¿Qué software me permite hacer eso?

Ya sea para GNU/Linux o Windows.
Gracias.
56  Programación / Java / ¿Cómo correr programa desde la consola de comandos? en: 27 Agosto 2009, 17:41 pm
Hola a todos.
Estoy aprendiendo un poco de Java, quisiera saber como ejecutar un programa desde la consola de comandos.
¿Cual es la sintaxis o el programa que me permite eso?
Yo normalmente ejecuto los codigos desde el "runner" de Eclipse.
Estoy en Ubuntu 8.04 - Hardy Heron.

57  Programación / Java / Empezar con Java en: 26 Agosto 2009, 04:01 am
No les pido manuales ni nada, solo como empiezo a teclear código y probar.

¿Que IDE, o que necesito?

Estoy en Ubuntu Hardy Heron 8.04.

Nota : Me estoy empezando en Java por que me darán POO en la universidad y nos enseñarán este lenguaje.


Saludos cordiales a todos.
58  Programación / Scripting / Buscar en Wikipedia [PERL] en: 22 Agosto 2009, 21:04 pm
Para todo uso mi consola de comandos, hice este script para que me diera la salida en mi consola.

Código
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. if($#ARGV != 0)
  5. {
  6. print "$0 \"Busqueda\"\n";
  7. exit(0);
  8. }
  9. $ARGV[0] =~ s/(\w+)/\u\L$1/g;
  10. use WWW::Wikipedia;
  11. my $wiki = WWW::Wikipedia->new();
  12. $wiki = WWW::Wikipedia->new(language => 'es');
  13. my $result = $wiki->search("$ARGV[0]");
  14. if(!$result)
  15. {
  16. print "Error: ", $wiki->error(), "\n";
  17. exit(1);
  18. }
  19. if($result->text())
  20. {
  21.      print $result->text();
  22.  }
  23. exit(0);
Código:
leo@lein:~/Escritorio/pl$ perl pl.pl "Linus Torvalds"
{{Ficha de persona |nombre= Linus Benedict Torvalds |imagen= Linus Torvalds.jpeg
|descripción = Torvalds en 2002 |fecha de nacimiento= 28 de diciembre de 1969
() |lugar de nacimiento= , Helsinki |fecha de fallecimiento= |lugar de
fallecimiento= |nacionalidad = finlandés |ocupación= Ingeniero de software
|cónyuge= Tove Torvalds }} 'Linus Benedict Torvalds' (nacido el 28 de diciembre
de 1969), es un ingeniero de software finlandés; es conocido por desarrollar la
primera versión del núcleo de sistema operativo (kernel) Linux, basándose en
el sistema operativo libre Minix creado por Andrew S. Tanenbaum y en algunas
herramientas, los compiladores y un número de utilidades desarrollados por el
proyecto GNU. Actualmente Torvalds es responsable de la coordinación del
proyecto. Pertenece a la comunidad hablante de sueco de Finlandia (que también
es oficial y hablado por aproximadamente el 6% de la población).
leo@lein:~/Escritorio/pl$ perl pl.pl "octavio paz"
{{Ficha de escritor |Nombre = Octavio Paz | |Imagen=Paz0.jpg
|TextoImagen=Octavio Paz Lozano |Fecha_nacimiento=31 de marzo de 1914
|Lugar_nacimiento=Ciudad de México, |Fecha_fallecimiento=19 de abril de 1998
|Lugar_fallecimiento=Ciudad de México, |Ocupación=Poeta, escritor, ensayista y
diplomático |Nacionalidad=Mexicano |Periodo=1939-1998 |Género=poesía
|Movimiento=Modernismo |Influencias=Ruben Dario<br />Juan Ramón Jiménez<br
/>Antonio Machado<br />Gerardo Diego |Firma= |Website= |Notas= }}

'Octavio Paz Lozano' (* Ciudad de México, 31 de marzo de 1914 - ídem; 19 de
abril de 1998), fue un poeta, escritor, ensayista y diplomático mexicano,
(1990). Es considerado uno de los más grandes escritores del siglo XX y uno de
los grandes poetas hispanos de todos los tiempos.<ref name=ColNac></ref> Era un
escritor prolífico cuya obra abarcó varios géneros, entre los que
sobresalieron textos poéticos, el ensayo y traducciones.
leo@lein:~/Escritorio/pl$ perl pl.pl
pl.pl "Busqueda"
leo@lein:~/Escritorio/pl$
59  Programación / Scripting / Bug en CMD.EXE, comando FOR, parametro /F en: 3 Julio 2009, 03:44 am
Bug en comando FOR, parametro /f, opcion "USEBACKQ"

Este bug esta relacionado con el trato de cadenas.

La documentación sobre dicha opción dice:
       
Código:
usebackq        - especifica que la nueva semántica está vigente,
                          donde una cadena entre comillas inversas se ejecuta
                          como un comando y una cadena con comillas simples
                          es un comando de cadena literal y permite el uso de
                          comillas dobles para entrecomillar los nombres de
                          archivo en un grupo de nombres de archivos.
Es decir, cambia la semantica:
Código:
'' : Comandos
"" : Cadenas
No especificar comillas dobles o simples : Archivo.
Nos dice que para procesar cadenas, debemos usar comillas simples:

Código
  1. @echo off
  2. for /f "tokens=1 usebackq" %%_ in ('Leonardo') do (
  3. echo %%_
  4. )
Salida:
Código:
Leonardo

Como pueden ver, usamos comillas simples para tratar cadenas.

Sin la opción "usebackq" sería asi:
Código
  1. @echo off
  2. for /f "tokens=1" %%_ in ("Leonardo") do (
  3. echo %%_
  4. )
Salida:
Código:
Leonardo

Ahora, iré directo al problema que afecta a las opciones "useback" y "usebackq":

Esto produce un error:
Código
  1. @echo off
  2. for /f "tokens=1 usebackq" %%_ in ('1 2 3 4 5 6 7 8 10 11 12') do (
  3. echo %%_
  4. )
Salida:

Código:
C:\>code.bat
1
El sistema no puede encontrar el archivo Ɛ§㏀§럀§풘§>♂.

C:\>

Como ven, provoca un error, ya que busca un archivo, pero es claro que no estoy trabajando con archivos, sino con cadenas.

Estos también provocan error:

Código
  1. @echo off
  2. for /f "tokens=1 useback delims=" %%_ in ('p1 p2 p3 p4 p5 p6 p7 p8 p9') do (
  3. echo %%_
  4. )
Salida:
Código:

p1 p2 p3 p4 p5 p6 p7 p8 p9
El sistema no puede encontrar el archivo ?.

Código
  1. @echo off
  2. for /f "tokens=1-20 useback delims=_" %%a in ('p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14') do (
  3. echo %%a  
  4. )
Salida:
Código:
p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14
☼?♀\.stema no puede encontrar el archivo ?¶

En fin, esto esta probado en un Windows XP Professional Service Pack 3

Si me pudieran hacer el favor de probar si en otros sistemas falla, sino les da error, solo alteren la cantidad de tokens en el conjunto, asi:

Código
  1. @echo off
  2. for /f "tokens=1-20 usebackq" %%a in ('1 2 3 4 5 6 7 8 9 11 12 13 14 16 especificar ms tokens en caso de no ver error') do (
  3. echo %%a  
  4. )

Bueno, saludos.
60  Programación / Scripting / [Batch] Comentarios en varias lineas, usando :: en: 20 Junio 2009, 06:39 am
Bueno, esto es algo nuevo que acabo de descubrir (de antemano una disculpa si alguien ya había tratado esto)

Se trata de insertar comentarios en el código, usando :: con el caracter ^

Ejemplo:
Código
  1. @echo off
  2. echo Hola mundo.
  3. ::^
  4. Comentario1 Algo algo algo^
  5. Comentario2asd kdfklg algo algo algo^
  6. Comentario3 Esta linea puede ser con espacios, las demas no.
  7. echo Adios mundo.
  8. pause>nul
  9. exit /b 0

Salida:
Código:
Hola mundo.
Adios mundo.

Como ven, los comentarios son ignorados.

También se puede usar REM, pero hay problemas con los espacios, ejemplo:
Código
  1. @echo off
  2. echo Hola mundo.
  3. rem ^
  4. Comentario1^
  5. Comentario2^
  6. Comentario3
  7. echo Adios mundo.
  8. pause>nul
  9. exit /b 0

Salida:
Código:
Hola mundo.
Adios mundo.

Saludos a todos.
Páginas: 1 2 3 4 5 [6] 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines