NoteRun

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

Erro de Python · Python 3

O notebook foi escrito para o Python 2, em que print era um comando: print "total:", total. No Python 3 é uma função e precisa de parênteses. Como o Python lê a célula inteira antes de executá-la, nem as linhas acima do print rodam.

Por que acontece

O Python 2 chegou ao fim do suporte em janeiro de 2020, mas muitos notebooks de cursos, livros e kernels do Kaggle foram escritos para ele. Um único print sem parênteses basta para parar a célula inteira.

Como corrigir

Adicione parênteses. A vírgula no final, que no Python 2 mantinha a saída na mesma linha, vira end=' ', e print >>f, x vira print(x, file=f):

Antes

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

Depois

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

Outras linhas do Python 2 são corrigidas do mesmo jeito: except ValueError, e: → except ValueError as e:, xrange → range, raw_input → input.

No NoteRun

O NoteRun verifica o notebook antes de você executá-lo e marca as células que parariam. Corrigir tudo troca todos os print, except, xrange e raw_input do Python 2 no notebook com um toque. Nada muda até você tocar, você vê cada mudança antes, e Desfazer traz o notebook de volta.

No iPhone ou iPad, baixe um notebook de exemplo com este erro e abra no NoteRun.

Baixar na App Store

Outros erros