2016-08-19 16 views
0

以下のような単純な "words"とそのようなもの(Python.orgからすべてコピーされたもの)がIDLEで印刷されなかった理由を教えてもらえますか?私は印刷声明を出しましたか?以下のprintステートメントとテストされた他のステートメントがPython 2.7.12シェルで実行されたとき、関数は単に何も印刷せずに次の空白のインデントされた行にスキップしました。 (私はインデント、括弧なしの両方の印刷ラインを実行してみました。)Python IDLEが "forループ"のprint文を実行していない

>>> words = ['cat', 'window', 'defenestrate'] 
>>> for w in words: 
    print w, len(w) 
+2

もう一度 'enter'を押すと、コードが完成して実行が開始されることがわかります。 –

+0

ところで、IDLEはかなり悪く、あなたはそれを使用すべきではありません。たとえば、IDLEの奇妙なプロンプトは、あなたのインデントが間違っているように見えます。あなたのインデントを修正するように指示する3つの答えが表示されます。 – user2357112

+0

@ user2357112プラス1人の天才がこれを字下げ質問の複製としてクローズしました。私はそれに反して、私はアイドルが好きで、いつも使っています。 –

答えて

0

そうのようなあなたのインデントを修正:

words = ['cat','window','defenstrate'] 
for w in words: 
    print(w, len(w)) 
1

インデントを! forループの後の次の行に4つのスペースがあります!

words = ['cat', 'window', 'defenestrate'] 

>>> for w in words: 
...  print w 
... 
cat 
window 
defenestrate 
>>> 
+0

** **は正しくインデントされています。どのように4つのスペースが見えませんか? –

0

forループの後にタブが必要です。

words = ['cat', 'window', 'defenestrate'] 

for w in words: 
    print w, len(w) 

コードは正常に動作します。

+0

感謝のニック、そしてあなたの素早い対応のために@Stefan Pochmannにも感謝します。私が作った主なエラーは、キーボードのリターンキーをprintステートメントを実行するために2回ではなく2回タップしなければならないことを知らなかったということでした。 – bokarmic

関連する問題