Terminal Python nie działa dla pętli [zamknięte]

9

Uruchomiłem ten kod w terminalu Python:

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

Chcę mieć możliwość zamknięcia tego dla pętli w terminalu, ale nie mam pojęcia, jak to zrobić. Próbowałem nacisnąć Enterdwa razy, ale to nie działa.

jason328
źródło
1
Brakuje klamry zamykającej. Czy możesz wyjaśnić, co próbujesz zrobić w wyciągu?
Hashken,
1
Przepraszam, że klamra powinna tam być. Pętlę przez tablicę, która zawiera dane HTML. Działa, po prostu nie wiem, jak zamknąć pętlę w terminalu.
jason328,
1
Wygląda na to, że używasz zagnieżdżonych struktur danych. Nie mogę powiedzieć, na czym polega problem, nie patrząc na cały kod. Załącz cały kod.
Hashken,
4
wpisz dwa razy działa dla mnie. Upewnij się, że drugie wejście jest nieoznaczone
Karthik T
1
Widzę, że to konsola. Można zrobić, print newsa print news_listwcześniej i dać nam wyjście? Dowiemy się tam o strukturach danych.
SiddharthaRT,

Odpowiedzi:

14

Nie ma znaczenia, nad którymi danymi pracuje. Niezależnie od tego, czy używasz tylko print "spam"skomplikowanego wyrażenia, pętla for powinna zostać zamknięta po dwóch wejściach, w przeciwnym razie zostanie zgłoszony wyjątek w języku Python z powodu złych danych lub błędu składniowego.

Problem polega na tym, że wcinasz puste wiersze, więc tłumacz myśli, że nadal dasz mu trochę kodu.

Zobacz różnicę w poniższym fragmencie kodu (wybierz tekst, aby zobaczyć dlaczego):

>>> for x in range(4):
...     print x
... 
0
1
2
3
>>> for x in range(4):
...     print x
...     
...     
...     
... 
0
1
2
3
>>> 
Timo
źródło
Na bok: sprawdź bpython. Jest to interpreter Pythona z wiersza poleceń z sugestiami słów kluczowych, automatycznym wcięciem, pamięcią historii między sesjami, opcją zapisywania kodu w pliku itp. Dwie pierwsze funkcje sprawiają, że jest to aplikacja zabójcza. Tyle razy naciskałem tabulator w domyślnym tłumaczu tylko po to, by znaleźć zakładkę na ekranie!
S Prasanth,
@SPrasanth, masz na myśli ipython?
warvariuc
@warwaruk Nie, bpython apps.ubuntu.com/cat/applications/bpython Przeszukuje ipython .
S Prasanth,