NoteRun

SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

Pythonのエラー · Python 3

このノートブックはPython 2向けに書かれています。Python 2のprintは文でした(print "total:", total)。Python 3では関数なので、かっこが必要です。Pythonはセル全体を読んでから実行するため、printより上の行も実行されません。

原因

Python 2のサポートは2020年1月に終了しましたが、多くの講座のノートブックや書籍、KaggleのコードはPython 2向けに書かれています。かっこのないprintが1つあるだけで、セル全体が止まります。

直し方

かっこを付けます。Python 2で改行しないための末尾のカンマはend=' 'に、print >>f, xはprint(x, file=f)になります。

修正前

total = 42
print "total:", total
for name in ["a", "b"]:
    print name,

修正後

total = 42
print("total:", total)
for name in ["a", "b"]:
    print(name, end=' ')

ほかのPython 2の書き方も同じように直します。except ValueError, e: → except ValueError as e:、xrange → range、raw_input → input。

NoteRunでは

NoteRunは、実行する前にノートブックをチェックし、止まってしまうセルに印を付けます。「すべて修正」をタップすると、ノートブック内のPython 2のprint、except、xrange、raw_inputがまとめて修正されます。タップするまで何も変わらず、変更はすべて事前に確認でき、「取り消す」で元に戻せます。

iPhoneまたはiPadで、このエラーを含むサンプルノートブックをダウンロードし、NoteRunで開いてみてください。

App Storeからダウンロード

ほかのエラー