I wrote a simple sokoban like 2D game in python that I want to clean up.  It's done in a sort-of OO way where each object in the game has a Draw function I can call to redraw the screen.  It works out nicely since I can loop through each position on the screen and call the object's draw function.
I am learning about design patterns, and I really like the benefits of MVC, but I don't see a clean way to separate the draw function each object has from the model to put into the view.  Is there a good way to do this?  Is this a case where I should not use a MVC design?
Refactoring your code to conform to MVC would mean creating a "view" (like  that represented your screen, and that view would have (for example) a draw method that took the "model" (a python object that contained all of the block states) and rendered that model to the screen.
Now perhaps all that draw method would do to render to the screen is call a renderToScreen(screenView) method on every block object.  Or you might refactor that draw method into the view if you want to be more "pure".
MVC Game Design with objects