Python - Un programa divertido que no entiendo

 
Vista:
Imágen de perfil de Xamiend

Un programa divertido que no entiendo

Publicado por Xamiend (18 intervenciones) el 29/07/2014 21:21:33
Hola buenas, encontré el siguiente programa en python:

1
2
3
while True:
    for i in ["/","-","|","\\","|"]:
        print "%s\r" % i,

lo guardé con el notepad++ y lo ejecuté con el powershell
el resultado es que se van imprimiendo los caracteres / - | \ | de tal manera que no se agrupan, sino que crean como una ilusión de que hay una barra que está girando constantemente, y me preguntaba por qué directamente no se imprimen todos en plan:
/
-
|
\
|
sino que se sustituyen
Acabo de empezar con el formateo de strings y sé más o menos utilizar el %s, %d, %r y tal, pero no sé qué significa esto:
"%s\r" % i

Gracias de antemano :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Bitu

Un programa divertido que no entiendo

Publicado por Bitu (8 intervenciones) el 30/07/2014 03:25:23
Es precisamente esa lina la que hace la magia :3 ;
%s ya lo conoces... hace el embebido de una linea... en este caso hace el embebido de \r esto en particular es un caracter de escape... lo que hace es al llegar a el... el cursor retorna al inicio de la linea de codigo impresa y lo siguiente a el... sobreescribe lo que pueda haber alli...

Para hacerme entender mejor...

print "Sofia" # Imprime sofia... "Obvio XD"... y el cursor queda al final de la linea Asi: ( Sofia| )... pero si pongo, \r
print "Sofia \r" # ME deja al cursor en el inicio de la linea... asi ( |Sofia )... ahora todo lo que escriba despues en el prompt va a sobreescribir la linea...

print "Carlos" # borra a Sofia y deja a Carlos :)

Lo demas... ya te lo dejo a ti... saludos y sigue compartiendo codigo :3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar