2012-04-09 18 views
1

私はpythonでリストを印刷しようとする際に問題があります。私はリストのすべての項目を次のコード、特に最後の2行で印刷したいと思います。pythonのリストを印刷する

def primefind(n): 
    mylist = [] 
    x = 3 
    while (x < n/2): 
    if ((n % x) == 0): 
     mylist.append(x) 
     x = x + 2 
    for item in mylist: 
    print item 

これを実行すると構文エラーが発生します。最後の行の "item"を強調表示します。限り、私はそれが構文的に正しいと言うことができるので、私は混乱している!このサイトでも私が使ったのと同じ構文が表示されますhttp://effbot.org/zone/python-list.htm#looping

どこが間違っているのですか?

+0

また、これはtypoかどうかわかりませんが、ifブロックのx = x + 2を移動する必要があるようです。 – 8bitwide

+0

それはちょうどタイプミスです。しかし、良いキャッチ。 – user1322388

+1

Pythonの 'if'文と' while'文の条件のまわりに括弧は必要ありません。 –

答えて

13

3.xインタープリタでPython 2.xの構文を使用しています。あなたの代わりに

print(item) 

を使用する必要がありますのでprintは、Pythonの3.xの関数です。

+3

ありがとうございました。私はPythonには新しく、バージョン間で多くのことを変えることに本当に慣れておく必要があります! – user1322388

関連する問題