Terminal de Python que no funciona para bucles [cerrado]


9

Ejecuté este código en la terminal de Python:

>>> for news in news_list:
...     print news("li", {"class", "first"})[0].a["href"]
...     
...     

Quiero poder cerrar esto para el bucle en la terminal, pero no tengo idea de cómo hacerlo. Intenté presionar Enterdos veces pero no funciona.


1
Te falta una llave de cierre. ¿Puede explicar lo que está tratando de hacer en la declaración impresa?
Hashken

1
Lo siento, el aparato ortopédico debería haber estado allí. Estoy recorriendo una matriz que tiene datos html. Funciona, simplemente no sé cómo cerrar el bucle en la terminal.
jason328

1
Parece que está utilizando algunas estructuras de datos anidadas. No puedo decir cuál es el problema sin mirar el código completo. Por favor adjunte el código completo.
Hashken

44
entrar dos veces me funciona. Asegúrese de que la segunda entrada esté sin pestañas
Karthik T

1
Veo que esto es una consola. ¿Puedes hacer print newsy print news_listantes de eso y darnos la salida? Tendremos una idea de las estructuras de datos allí.
SiddharthaRT

Respuestas:


14

No importa en qué datos esté trabajando. De cualquier manera que solo esté usando print "spam"o alguna expresión complicada, el ciclo for debe cerrarse después de dos entradas o se generará una excepción de Python con datos incorrectos o un error de sintaxis.

El problema es que está sangrando las líneas vacías, por lo que el intérprete cree que todavía le va a dar algo de código.

Vea la diferencia en el fragmento de código a continuación (seleccione el texto para ver por qué):

>>> for x in range(4):
...     print x
... 
0
1
2
3
>>> for x in range(4):
...     print x
...     
...     
...     
... 
0
1
2
3
>>> 

Un aparte: Echa un vistazo bpython. Es un intérprete de Python de línea de comandos con sugerencias de palabras clave, sangría automática, memoria del historial entre sesiones, una opción para guardar código en un archivo, etc. Las dos primeras características lo convierten en una aplicación excelente. ¡Muchas veces presioné la pestaña en el intérprete predeterminado solo para encontrar una pestaña en la pantalla!
S Prasanth

@SPrasanth, quieres decir ipython?
warvariuc

@warwaruk No, bpython apps.ubuntu.com/cat/applications/bpython analizará ipython.
S Prasanth
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.