Судя по дизайну, вы просто взяли все эти 28 строк и засунули в стандартное окно ввода IDLE? Так не будет работать, если скормить все строки сразу. Создайте нормально .py файл, скопируйте весь код в него. И файл уже запускайте.
Ну и от стандартным idle лучше не пользоваться, та еще фигня