Pythonターミナルがforループで機能しない[終了]


9

このコードをPythonターミナルで実行しました。

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

端末でこのforループを閉じることができるようにしたいのですが、方法がわかりません。Enter2回押してみましたがうまくいきません。


1
閉じ括弧がありません。printステートメントで何をしようとしているのか説明できますか?
Hashken

1
ブレースがそこにあったはずです。htmlデータが含まれている配列をループしています。それは機能しますが、ターミナルでループを閉じる方法がわかりません。
jason328

1
ネストされたデータ構造を使用しているようです。コード全体を見ないと、何が問題なのかわかりません。コード全体を添付してください。
Hashken

4
2回入力してください。2番目のエンターがタブ解除されていることを確認してください
Karthik T

1
これはコンソールです。あなたはprint newsそれを行うprint news_list前に、私たちに出力を与えることができますか?そこにあるデータ構造についてのアイデアが得られます。
SiddharthaRT、

回答:


14

彼が作業しているデータは関係ありません。単に使用しているprint "spam"場合でも、複雑な式を使用している場合でも、forループは2つ入力した後に閉じる必要があります。そうしないと、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インタープリターです。最初の2つの機能はキラーアプリです。何回もデフォルトのインタープリターでタブを押して、画面上のタブを見つけました!
S Prasanth

@SPrasanth、つまりipython
warvariuc

@warwarukいいえ、bpython apps.ubuntu.com/cat/applications/bpythonはipythonを調べます。
S Prasanth
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.