Терминал Python не работает для циклов [закрыто]


9

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

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

Я хочу иметь возможность закрыть цикл for в терминале, но я не знаю, как это сделать. Я пытался Enterдважды нажать, но это не работает.


1
Вам не хватает закрывающей скобки. Можете ли вы объяснить, что вы пытаетесь сделать в заявлении печати?
Хашкен

1
Извините, скобка должна была быть там. Я перебираю массив, содержащий html-данные. Это работает, я просто не знаю, как замкнуть петлю в терминале.
jason328

1
Кажется, вы используете некоторые вложенные структуры данных. Я не могу сказать, в чем проблема, не глядя на весь код. Пожалуйста, приложите весь код.
Хэшкен

4
введите дважды работает для меня. Убедитесь, что 2-й вход не помечен
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 для командной строки с подсказками ключевых слов, автоматическим отступом, памятью истории между сеансами, возможностью сохранения кода в файл и т. Д. Первые две функции делают его убийственным приложением. Столько раз я нажимал tab в интерпретаторе по умолчанию только для того, чтобы найти вкладку на экране!
С Прасант

@SPrasanth, ты имеешь в виду ipython?
варвариук

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