Test Foro de elhacker.net SMF 2.1

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 (python) [Seleccionar]

string = "All what you need is..."

for n in range(len(string)):

print(string[n])
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 (python) [Seleccionar]
print (texto, end="")
Título: Re: Python, print genera salto de linea.
Publicado por: #Aitor en 15 Noviembre 2017, 03:12 AM
Cita de: engel lex en 15 Noviembre 2017, 02:55 AM
Código (python) [Seleccionar]
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
Cita de: engel lex en 15 Noviembre 2017, 03:21 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 (python) [Seleccionar]
from __future__ import print_function

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

Saludos.
Daniel