Terminal Python não funciona para loops [fechado]


9

Eu executei esse código no terminal Python:

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

Quero poder fechar esse loop for no terminal, mas não faço ideia de como fazê-lo. Tentei pressionar Enterduas vezes, mas não funciona.


11
Está faltando uma chave de fechamento. Você pode explicar o que está tentando fazer na declaração impressa?
Hashken

11
Desculpe, o aparelho deveria estar lá. Estou percorrendo uma matriz que contém dados html. Funciona, só não sei como fechar o loop no terminal.
jason328

11
Parece que você está usando algumas estruturas de dados aninhadas. Não sei dizer qual é o problema sem olhar o código inteiro. Anexe o código inteiro.
Hashken

4
digite duas vezes funciona para mim. Certifique-se de que o 2º enter não seja marcado
Karthik T

11
Eu vejo que isso é um console. Você pode fazer print newse print news_listantes disso e nos fornecer a saída? Vamos ter uma idéia das estruturas de dados lá.
precisa

Respostas:


14

Não importa em quais dados ele está trabalhando. De qualquer maneira que você esteja usando print "spam"ou com alguma expressão complicada, o loop for deve ser fechado após duas entradas ou uma exceção do Python será gerada com dados incorretos ou um erro de sintaxe.

O problema é que você está recuando as linhas vazias; portanto, o intérprete acha que você ainda fornecerá algum código.

Veja a diferença no snippet de código abaixo (selecione o texto para ver o porquê):

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

Um lado: Confira bpython. É um interpretador python de linha de comando com sugestões de palavras-chave, recuo automático, memória do histórico entre sessões, uma opção para salvar código em um arquivo etc. Os dois primeiros recursos o tornam um aplicativo matador. Tantas vezes pressionei a tecla tab no intérprete padrão apenas para encontrar uma guia na tela!
amigos estão

@SPrasanth, você quer dizer ipython?
warvariuc

@warwaruk Não, o bpython apps.ubuntu.com/cat/applications/bpython , porém, analisará o ipython.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.