Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: #Aitor en 15 Noviembre 2017, 02:46 am



Título: Python, print genera salto de linea.
Publicado por: #Aitor en 15 Noviembre 2017, 02:46 am
Con el siguiente codigo:

Código
  1. string = "All what you need is..."
  2.  
  3. for n in range(len(string)):
  4.  
  5. print(string[n])
  6. n+=1



La cosa está en que print () por cada ciclo genera un salto de linea, y como resultado cada caracter del string está una linea más abajo, tal que así
Citar
A
l
l
 
w
h
a
t
 
y
o
u
 
n
e
e
d
 
i
s
.
.
.
[Finished in 0.1s]

Estuve leyendo y la solución más próxima era añadir una ',' después del print, pero por alguna razón a pesar de estar en esta ocasión todo el texto seguido, éste genera un espacio por cada carácter.

Edito: Acabo de encontrar una alternativa "sys.stdout.write", y funciona, pero... ¿hay alguna forma de solucionar esto sin recurrir a otras alternativas output?


Título: Re: Python, print genera salto de linea.
Publicado por: engel lex en 15 Noviembre 2017, 02:55 am
Código
  1. print (texto, end="")


Título: Re: Python, print genera salto de linea.
Publicado por: #Aitor en 15 Noviembre 2017, 03:12 am
Código
  1. print (texto, end="")

Es la versión 2.7 y no lee el end=""


Título: Re: Python, print genera salto de linea.
Publicado por: engel lex en 15 Noviembre 2017, 03:21 am
en python 2.x no hay opciones mas que inyectar directo al stdout


Título: Re: Python, print genera salto de linea.
Publicado por: #Aitor en 15 Noviembre 2017, 03:23 am
en python 2.x no hay opciones mas que inyectar directo al stdout

Oops, entiendo, gracias ^^


Título: Re: Python, print genera salto de linea.
Publicado por: NOB2014 en 21 Noviembre 2017, 18:01 pm
Hola, buen día.

Código
  1. from __future__ import print_function

Intenta añadiendo la siguiente línea al principio del código.-

Saludos.
Daniel