Traceback NameError en el tutorial de Python

Estoy leyendo un libro tutorial de python en línea desde aquí . El código se lista a continuación. Cuando ejecuto el código, puedo escribir palabras en él pero luego me dio el error a continuación. ¿Cuál es el error con el código?

En una nota relacionada, si tiene un mejor recurso para la inclinación de la python, hágamelo saber. Estoy buscando uno que esté en línea y actualizado con frecuencia (por ejemplo: railstutorial.org). El recurso que estoy usando tiene muchos errores incluso al principio del libro. Gracias.

Enter something : programmig is fun Traceback (most recent call last): File "break.py", line 5, in  s = input('Enter something : ') File "", line 1, in  NameError: name 'programmig' is not defined #!/usr/bin/python # Filename: break.py while True: s = input('Enter something : ') if s == 'quit': break print('Length of the string is', len(s)) print('Done') 

Este es el código de Python 3. Parece que lo estás ejecutando con python 2.

Ejecute python --version para verificar qué versión de python está usando.

input() no obtiene una cadena, por lo que piensa que programmig es una variable. Puede escribir la entrada que desee entre comillas para resolver esto.
Sin embargo, una forma mejor es usar raw_input , que devuelve una cadena.
Así que, o bien Enter something : 'programmig is fun' , no recomendado, o haga s = raw_input('Enter something : ') forma recomendada

La causa de la confusión es que el libro es probablemente para python 3, que tiene una input diferente, y también una print diferente, mientras está usando python 2.x.