una - Python: evita nueva línea con comando de impresión




salto de linea en una lista python (4)

En Python 2.x simplemente ponga un , al final de su declaración de print . Si desea evitar el espacio en blanco que la print coloca entre los elementos, use sys.stdout.write .

import sys

sys.stdout.write('hi there')
sys.stdout.write('Bob here.')

rendimientos:

hi thereBob here.

Tenga en cuenta que no hay línea nueva o espacio en blanco entre las dos cadenas.

En Python 3.x , con su función print () , puedes simplemente decir

print('this is a string', end="")
print(' and this is on the same line')

y obten:

this is a string and this is on the same line

También hay un parámetro llamado sep que puede establecer en impresión con Python 3.x para controlar cómo se separarán las cadenas contiguas (o no según el valor asignado a sep )

P.ej,

Python 2.x

print 'hi', 'there'

da

hi there

Python 3.x

print('hi', 'there', sep='')

da

hithere

Esta pregunta ya tiene una respuesta aquí:

Empecé a programar hoy y tengo este problema con Python. Es bastante tonto, pero no puedo entender cómo hacerlo. Cuando uso el comando de impresión, imprime lo que quiero y luego va a una línea diferente. Por ejemplo:

print "this should be"; print "on the same line"

Debería regresar:

esto debería estar en la misma línea

pero en su lugar regresa:

esto debería ser
en la misma línea

Más precisamente, estaba tratando de crear un programa con if eso me decía si un número era un 2 o no

def test2(x):
    if x == 2:
        print "Yeah bro, that's tottaly a two"
    else:
        print "Nope, that is not a two. That is a (x)"

Pero no reconoce el último (x) como el valor ingresado, y más bien imprime exactamente: "(x)" (la letra con los corchetes). Para que funcione, tengo que escribir:

print "Nope, that is not a two. That is a"; print (x)

Y si, por ejemplo, entro test2(3) que da:

No, eso no es un dos, eso es un
3

Entonces, o bien necesito hacer que Python reconozca mi (x) dentro de una línea de impresión como el número; o para imprimir dos cosas separadas pero en la misma línea. Gracias de antemano y disculpa por una pregunta tan estúpida.

NOTA IMPORTANTE : Estoy usando la versión 2.5.4

Otra nota: si pongo print "Thing" , print "Thing2" dice "Error de sintaxis" en la segunda impresión.


En Python 3.x , puede usar el argumento end en la función print() para evitar que se print() un carácter de nueva línea:

print("Nope, that is not a two. That is a", end="")

En Python 2.x , puede usar una coma final:

print "this should be",
print "on the same line"

Sin embargo, no es necesario que simplemente imprima una variable:

print "Nope, that is not a two. That is a", x

Tenga en cuenta que la coma final todavía da como resultado un espacio que se imprime al final de la línea, es decir, es equivalente a usar end=" " en Python 3. Para suprimir también el carácter de espacio, puede usar

from __future__ import print_function

para obtener acceso a la función de impresión Python 3 o use sys.stdout.write() .


Simplemente necesita hacer:

print 'lakjdfljsdf', # trailing comma

Sin embargo en:

print 'lkajdlfjasd', 'ljkadfljasf'

Hay espacio en blanco implícito (es decir, ' ' ).

También tienes la opción de:

import sys
sys.stdout.write('some data here without a new line')

Utilice una coma al final para evitar que se presente una nueva línea:

print "this should be"; print "on the same line"

Debiera ser:

print "this should be", "on the same line"

Además, puede adjuntar la variable que se pasa al final de la cadena deseada de la siguiente manera:

print "Nope, that is not a two. That is a", x

También puedes usar:

print "Nope, that is not a two. That is a %d" % x #assuming x is always an int

Puede acceder a documentation adicional sobre el formato de cadena utilizando el operador % (módulo).







python-2.5