erro de sintaxe na declaração não local em Python

Eu gostaria de testar o exemplo do uso da declaração não-local especificada na resposta emisto questão:

def outer():
   x = 1
   def inner():
       nonlocal x
       x = 2
       print("inner:", x)
   inner()
   print("outer:", x)

mas quando tento carregar esse código, sempre recebo um erro de sintaxe:

Traceback (most recent call last):


File "<stdin>", line 1, in <module>
  File "t.py", line 4
    nonlocal x
             ^
SyntaxError: invalid syntax

Alguém sabe o que estou fazendo errado aqui (eu recebo o erro de sintaxe para cada exemplo que eu uso, contendononlocal).

questionAnswers(2)

yourAnswerToTheQuestion