jueves, 17 de enero de 2008
pythonchallenge
''' ENERO 13'''
No se programar, no se nada de python pero ahi voy en el 5to nivel, tratando de aprender un poco de python y enviciandome de nuevo.
Espero hacer unos 15 o 20 niveles y me acuesto :p
Luego les cuento ...
aqui voy:
http://www.pythonchallenge.com/pc/def/peak.html
http://www.pythonchallenge.com/forums/viewtopic.php?t=8
''' ENERO 14 '''
Bueno ya pase el 5 y el 6, voy a poner mi codigo del 6 porque me quedo bonito pa no saber manejar archvios .zip en python.
Estoy en aprendizaje:
http://www.pythonchallenge.com/pc/def/channel.html
codigo para pasar el nivel 6:
{{{
import zipfile,re,sys
archivo="90052"
file = zipfile.ZipFile("./channel.zip", "r")
comentarios=[]
numero=re.compile("(\d+)").findall
while True:
try:
s=file.read(archivo+".txt")
a=numero(s)
archivo=a[0]
comentarios.append(archivo)
except IndexError:
for name in comentarios:
print file.getinfo(name+".txt").comment,
sys.exit()
}}}
Y salida en pantalla, toma exactamente los comentarios que existen, todo gracias al Try/except
{{{
nando@debian:~/python/retos/channel$ python seis.py
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * *
* * O O O O X X Y Y Y Y G G G G E E E E E E N N N N * *
* * O O O O X X X X X X Y Y Y Y Y Y G G G G E E E E E E N N N N * *
* * O O O O X X X X X X Y Y Y Y Y G G G G E E N N N N * *
* * O O O O O O O O X X X X Y Y G G G E E E E E N N N N * *
* * O O O O O O O O X X X X Y Y G G G E E E E E N N * *
* * O O O O X X X X X X Y Y Y Y Y G G G G E E N N * *
* * O O O O X X X X X X Y Y Y Y Y Y G G G G E E E E E E N N * *
* * O O O O X X Y Y Y Y G G G G E E E E E E N N * *
* * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
nando@debian:~/python/retos/channel$
}}}
Si alguien encuentra una mejor forma de hacerlo, me dice:
basicamente lo que hay que hacer es buscar en un archivo un numero que significa el nombre de otro archivo, luego abrir ese y asi sucesivamente, pero al tiempo ir organizandolos para luego sacarle a todos esos archivos los comentarios. la cuestion es que los archivos estan en un .zip, por eso hay que usar el modulo para manejo de archivos .zip de python.
sigo aqui ...
Como me gusto tambien el nivel 7, lo pongo aqui, jeje
Codigo nivel 7:
{{{import Image
im = Image.open("oxygen.png")
print "La imagen es de: ", im.size
#Busque pixeles por toda la imagen en orden, hasta que alguno sea grisaseo, cuando esto pase, imprimalo como caracter
#Se asume que el mensaje es la franja gris :)
for x in range(0,im.size[0],7):
for y in range(0,im.size[1],7):
pixel=im.getpixel((x,y))
if pixel[2]==pixel[1]==pixel[0]:
print chr(pixel[0]),
#Luego de ver el resultado, tomamos los numeros que nos dan y los imprimimos como caracteres
print "\n"
print "La respuesta al proximo nivel es: ",
mensaje=[105,110,116,101,103,114,105,116,121]
for i in range(len(mensaje)):
print chr(mensaje[i]),
print "\n"
}}}
y asi se ve:
{{{nando@debian:~/python/retos$ python siete7.py
La imagen es de: (629, 95)
s m � � a � � r t g u y , y o u m a d e i t . t h e n e x t l e v e l i s [ 1 0 5 , 1 1 0 , 1 1 6 , 1 0 1 , 1 0 3 , 1 1 4 , 1 0 5 , 1 1 6 , 1 2 1 ]
La respuesta al proximo nivel es: i n t e g r i t y
nando@debian:~/python/retos$
}}}
Resulto muy interesante este nivel, habia que dedicarle tiempo para pensar como encontrar una franja gris en una imagen de color, la respuesta es cuando
R,G,B estan en iguales cantidades ;)
''' ENERO 15 ''', son las 00:15
Llegue como hasta el nivel 11 de los retos de python, ya se estaban enfocando mucho en los modulos de imagenes y parecidos y no me llama tanto la atencion
Sin embargo aprendi unas cuantas cositas ;)
Lo que sigue es continuar aprendiendo de a poquitos y usandolo donde lo requiera.
La invitacion va para los que que quieran aprender un poco de python, no hay mejor forma de aprender que jugando ''wargames''.
ahí les dejo la duda: http://www.pythonchallenge.com/
------------------------------
------------------------------
Suscribirse a:
Enviar comentarios (Atom)
Entradas populares
-
Existe una herramienta para MacOSX bastante útil que nos permite eliminar esas molestas aplicaciones que instalan archivos donde menos lo...
-
Esta entrada la hago para recordarle a algunos estudiantes que las vulnerabilidades estan en cualquier parte y eso significa en cualquier di...
-
Esta entrada esta realizada mientras paso por una etapa de Flu , así que no se me ocurrió un mejor titulo. Mientras tiritaba de frío...
-
Hoy en dia un medio de comunicación muy eficiente que se ha popularizado es el uso de los microblogs o sistemas donde se pueden hacer micro...
-
En el reto "Grab Bag" 200 encontramos un servidor corriendo en el puerto 6000 y para el cual nos dan la clave: "Never\$olv3d!...
1 comentario:
Spoiler maldito
Publicar un comentario