martes, 14 de abril de 2015

Python: Imprimir resultados en horizontal en lugar del predeterminado vertical

Haciendo un poco de malabares con python se me presentó la oportunidad de hacer un script que hiciera ciertas modificaciones a las líneas escritas en dos idiomas, y para analizar las palabras y hacer su respectivo pareo hice uso de ciclos FOR, pero las palabras se mostraban de forma vertical, es decir que cuando hacía esto:

for i in range(10): print i


Me mostraba esto:

0
1
2
3
4
5
6
7
8
9

Y lo que necesitaba es que lo mostrara así:

0 1 2 3 4 5 6 7 8 9 

Para mostrar un resultado de forma horizontal hay que agregar una 'comma' ( , ) en la sentencia (función en 3.x) print, y en las dos ramas en que se divide python se puede hacer de esta forma:

En python 2.x:
for x in range(10): print x,


En python 3.x:
for x in range(10): print(x,end=' ')


Al estar trabajando con python 2.7.4, parte del script me quedó de esta forma:

for i in range(10): print i,


0 1 2 3 4 5 6 7 8 9


Quiero mencionar que la sintaxis del ciclo FOR que he utilizado es válida sólo cuando las instrucciones a realizar dentro del ciclo/bucle se tratan de una sola línea, como la del ejemplo, para actividades complejas que conlleven más de una línea se debe utilizar la identación tradicional (pero no obligatoria) de 4 espacios, sino va a mostrar un error que la identación no es correcta:
IndentationError: unindent does not match any outer indentation level.

Espero que esta ayuda en español pueda ser de utilidad a alguien más. La ayuda que encontré en inglés se encuentra en este enlace.

Bytes.

8 comentarios:

lino dijo...

Buena forma de orientar me servido de mucho. la linea siguiente no funciona
for i in range(10): print i,

san 07 dijo...

Que problemas te da ?

Unknown dijo...

Excelente!! siempre estaba buscando en cambiar el sentido de imprimir verticalmente en horizontal y al fin lo encontré, muchas gracias me sirvió de mucho!! y más para el examen que se me viene..

REPTIL35 dijo...

Excelente !!!!!

jordeeex dijo...

gracias me sirvio bastante con respecto a histogramas en python

Unknown dijo...

Me sirvió , pero , como hacer para que cuando salga en horizontal me junte todos los números?

Josue Velarde villanueva dijo...

Me ayudo mucho GRACIAS!!

Unknown dijo...

No sé como hacerlo para esta sucesión triangular.
for i in range(1, n+1):
j = i*(i+1)/2
print("{0:.0f}".format(j))

 

Copyright © El igloo de Tux Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger