Термінал Python не працює для циклів [закрито]


9

Я запустив цей код у терміналі Python:

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

Я хочу мати змогу закрити це для циклу в терміналі, але я не маю уявлення, як це зробити. Я спробував натиснути Enterдвічі, але це не працює.


1
Вам не вистачає фіксатора. Чи можете ви пояснити, що ви намагаєтесь зробити в заяві про друк?
Хашкен

1
Вибачте, брекет мав бути там. Я переглядаю масив, у якому є HTML-дані. Це працює, я просто не знаю, як закрити петлю в терміналі.
jason328

1
Здається, ви використовуєте деякі вкладені структури даних. Я не можу сказати, у чому проблема, не переглянувши весь код. Будь ласка, додайте весь код.
Хашкен

4
введіть двічі роботи для мене. Переконайтесь, що другий вхід не встановлено
Karthik T

1
Я бачу, це консоль. Ви можете зробити print newsі print news_listдо того, що і дає нам вихід? Ми отримаємо уявлення про структуру даних там.
SiddharthaRT

Відповіді:


14

Не має значення, над якими даними він працює. У будь-якому випадку ви просто використовуєте print "spam"або якийсь складний вираз, цикл for-циклу повинен бути закритий після двох входів, або виняток Python буде піднято або з поганими даними, або з синтаксичною помилкою.

Проблема полягає в тому, що ви відступаєте порожні рядки, тому перекладач думає, що ви все ще збираєтесь надати йому якийсь код.

Дивіться різницю в фрагменті коду нижче (виберіть текст, щоб побачити чому):

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

Убік: перевірити bpython. Це інтерпретатор python командного рядка з пропозиціями щодо ключових слів, автоматичним відступом, пам’яттю історії протягом сеансів, можливістю збереження коду у файл тощо. Перші дві функції роблять його програмою-вбивцею. Стільки разів я натискав на вкладку в інтерпретаторі за замовчуванням лише для того, щоб знайти вкладку на екрані!
S Прасант

@SPrasanth, ти маєш на увазі ipython?
Варварюк

@warwaruk Ні, bpython apps.ubuntu.com/cat/applications/bpython все ж переглянеться в ipython.
S Прасант
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.