Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: AdeLax en 29 Septiembre 2013, 22:07 pm



Título: Listar una cadena
Publicado por: AdeLax en 29 Septiembre 2013, 22:07 pm
Hola a todos!,

Mi pregunta es como podría listar una cadena cada tres dígitos osea:
la cadena es 'qwertyuiopasdfghjklñzxcvb'
y de esta cadena sacar

Código:
qwe
rty
uio
pas
dfg
...

como un for a una lista, verdaderamente lo que quiero es listar las particiones pero la sentencia que uso me lo da en forma de cadena c:\ d:\ f:\ y lo que quiero es:

Código:
c:\
d:\
f:\

pero si uso for me imprime esto claramente a no ser una lista

Código:
c
:
\

d
:
\

etc

Por favor me gustaría que me ayudasen, ya e buscado por Internet pero nada
Gracias


Título: Re: Listar una cadena
Publicado por: Stakewinner00 en 29 Septiembre 2013, 22:10 pm
Si sabes algún lenguaje de programación puedes programarlo tu mismo sino te podemos ayudar


Título: Re: Listar una cadena
Publicado por: Eleкtro en 29 Septiembre 2013, 22:32 pm
lo que quiero es listar las particiones pero la sentencia que uso me lo da en forma de cadena c:\ d:\ f:\

Si no especificas que lenguaje estás usando no hay ayuda posible,
Saludos!


Título: Re: Listar una cadena
Publicado por: AdeLax en 29 Septiembre 2013, 22:49 pm
Pendoneen se me había olvidado Python    ;D ;


Título: Re: Listar una cadena
Publicado por: Once en 29 Septiembre 2013, 22:59 pm
¿Qué código tienes?

Saludos!


Título: Re: Listar una cadena
Publicado por: AdeLax en 30 Septiembre 2013, 15:11 pm
Código:
import win32api
driveslist = win32api.GetLogicalDriveStrings()
print driveslist #aparece todas las particiones/unidades del sistema

El resultado es:
>>> C:\ D:\ etc

y lo que quiero es esto:
c:\
d:\

y pensé en hacerlo con un for pero no es una lista
y me aparecía esto:

c
:
\

d
:
\
y pensé si se podía hacer un for que mostrase los tres primeros caracteres
osea:
unidad + : + \

c:\
d:\
f:\

Pero no se como hacerlo por eso pido ayuda, lenguaje Python 2.7


Título: Re: Listar una cadena
Publicado por: Once en 30 Septiembre 2013, 19:20 pm
Entiendo, se me ocurren dos formas de hacerlo:

Usando for
Código
  1. asd = 'qwertyuiopasdfghjklzxcvb'
  2.  
  3. for i in xrange(0, len(asd), 3):
  4.    print asd[i:i+3]

O usando expresiones regulares:

Código
  1. import re
  2. asd = 'qwertyuiopasdfghjklzxcvb'
  3. print re.findall("(.{3})", asd)

Saludos!


Título: Re: Listar una cadena
Publicado por: AdeLax en 30 Septiembre 2013, 23:25 pm
Gracias!!! eso es a lo que me refería, muchas gracias!!!  :D  ;D :D