Terminale Python non funzionante per i loop [chiuso]


9

Ho eseguito questo codice nel terminale Python:

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

Voglio poterlo chiudere per loop nel terminale, ma non ho idea di come. Ho provato a premere Enterdue volte ma non funziona.


1
Manca un tutore di chiusura. Puoi spiegare cosa stai cercando di fare nella dichiarazione stampata?
Hashken,

1
Mi dispiace che il tutore avrebbe dovuto essere lì. Sto eseguendo il looping di un array che contiene dati HTML. Funziona, non so proprio come chiudere il loop nel terminale.
Jason328,

1
Sembra che tu stia utilizzando alcune Strutture dati nidificate. Non so dire quale sia il problema senza guardare l'intero codice. Si prega di allegare l'intero codice.
Hashken,

4
entra due volte funziona per me. Assicurati che il 2 ° invio sia libero
Karthik T

1
Vedo che questa è una console. Puoi fare print newse print news_listprima e darci il risultato? Lì avremo un'idea delle strutture dati.
Siddhartha

Risposte:


14

Non importa su quali dati stia lavorando. In entrambi i casi, print "spam"o usando un'espressione complicata, il for-loop dovrebbe essere chiuso dopo due immissioni o verrà sollevata un'eccezione Python con dati errati o un errore di sintassi.

Il problema è che stai indentando le righe vuote, quindi l'interprete pensa che continuerai a dargli del codice.

Vedi la differenza nello snippet di codice seguente (seleziona il testo per vedere perché):

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

A parte: controlla bpython. È un interprete Python da riga di comando con suggerimenti di parole chiave, rientro automatico, memoria della cronologia tra sessioni, un'opzione per salvare il codice in un file, ecc. Le prime due funzionalità lo rendono un'app killer. Così tante volte ho premuto il tasto nell'interprete predefinito solo per trovare una scheda sullo schermo!
S Prasanth,

@SPrasanth, vuoi dire ipython?
Warvariuc,

@warwaruk No, bpython apps.ubuntu.com/cat/applications/bpython Esaminerà comunque IPython.
S Prasanth,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.