No puedo entender por qué el código # 1 devuelve una línea vacía adicional mientras que el código # 2 no lo hace. ¿Alguien podría explicar esto? La diferencia es una coma adicional al final del código # 2.Línea extra en salida al imprimir dentro de un bucle
# Code #1
file = open('tasks.txt')
for i, text in enumerate(filer, start=1):
if i >= 2 and i <= 4:
print "(%d) %s" % (i, text)
# Code #2
file = open('tasks.txt')
for i, text in enumerate(filer, start=1):
if i >= 2 and i <= 4:
print "(%d) %s" % (i, text),
Aquí es el contenido de mi archivo tasks.txt:
line 1
line 2
line 3
line 4
line 5
resultado de código # 1:
(2) line 2
(3) line 3
(4) line 4
resultado de código # 2 (resultado deseado):
(2) line 2
(3) line 3
(4) line 4
Gracias, no estaba al tanto de eso. Lo busqué. Parece que Python 3.0 contiene algunas características adicionales de lo que viene a imprimir. Si lo entiendo bien, puedes definir cómo terminar tu línea en Python 3.0+ [lo encontré aquí] (http://docs.python.org/release/3.1.5/whatsnew/3.0.html#print-is-a -función). Y gracias por señalar el error, sí, quise decir el código # 2. Fijo. – finspin
@Jaro Tiene razón, la sección en los documentos señala la diferencia relevante para imprimir entre Python 2.xy 3.x. – Levon