Bueno, utilizando la misma imagen...
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Alto=400
Ancho=600
from coat import *
from pygame import *
#una función que carga las imagenes 
def carga_imagen(name, alfa=False, rect=False, colorkey=None):
    #crea una ruta a la carpeta de datos
    #al escribirlo de esa forma, nos aseguramos
    #de que pueda abrir en todos los S.O.
    #donde este instalado python
    fullname = os.path.join(name)
    #comprobamos si existe la imagen
    try:
        image = pygame.image.load(fullname)
    except pygame.error, message:
        print 'No se puede cargar la imagen: ', fullname
        raise SystemExit, message
    #combierte la imagen para que pygame la pueda usar
    image = image.convert()
    #En este punto asignamos el colorkey
    #es decir, un color de base al que se
    #borrara dejando solo el canal alfa (transparencia)
    if alfa:
        colorkey = image.get_at((0, 0))
        image.set_colorkey(colorkey, RLEACCEL)
    if not(alfa) and colorkey != None:
        image.set_colorkey(colorkey, RLEACCEL)
    #devuelve la imagen y la recta de la imagen
    if rect:
        return (image, image.get_rect())
    else:
        return (image)
#este es  parte de unas clases que he
# desarrollado para manejar los sprites mejor
#aun esta "verde", hay que añadir cosas... y mejor ducumentación
class AnimacionDeArchivo():
    def __init__(self, Archivo, Tabla=None, Diccionario=None, Colorkey=None):
        #De lo UNICO que se encarga esta función es de regresar
        #las imagenes de animación y nada mas, lo de preguntar
        #rects le compete a la clase del sprite  .
.
        self.lista_frames = []
        #si no hay un color de trasparencia especifico, lo carga con el color
        #del pixel (0,0)
        if Colorkey == None:
            image = carga_imagen(Archivo, alfa=True, rect=False, colorkey=None)
        else:
            image = carga_imagen(Archivo, alfa=False, rect=False, colorkey=Colorkey)
        if Diccionario != None and Tabla != None:
            print "No se pueden usar los parametros'Tabla' y 'Diccionario' al mismo tiempo"
            return False
        #partimos la imagen en filas y columnas
        if Tabla != None:
            columnas, filas = Tabla
            tile_w = image.get_width () / columnas
            tile_h = image.get_height () / filas
            for f in xrange (filas):
                for c in xrange (columnas):
                    rect = c * tile_w , f * tile_h , tile_w, tile_h
                    self.lista_frames.append(image.subsurface(rect).copy ())
        #o  en las cordenadas que marque un diccionario...
        if Diccionario != None:
            for llave in Diccionario:
                rect = Diccionario[Llave]
                ima = image.subsurface(rect).copy ()
                self.lista_frames.append(ima)
        self._frame = 0
        self.inicio = pygame.time.get_ticks()
        self._delay = 1000/15
        self.ultima_act = 0 #ultima
    #función para redimencionar todas las imagenes del sprite
    def redimencion(self, dimencion):
        for i in range(len(self.lista_frames)):
            frame_i = self.lista_frames[i]
            frame = pygame.transform.scale(frame_i, dimencion)
            self.lista_frames[i] = frame
    #función para hacer todas las imagenes con una trasparencia
    def set_alpha(self, alpha):
        for i in range(len(self.lista_frames)):
            frame_i = self.lista_frames[i]
            frame_i.set_alpha(alpha)
            self.lista_frames[i] = frame_i
    #la funcion que hace la magia  
 
    def Frame_es(self, Lista_anima = [0], Reset = False, Frame_return = False):
        if Reset:
            self._frame = 0
        if pygame.time.get_ticks() - self.ultima_act > self._delay:
            self._frame += 1
            if self._frame >= len(Lista_anima):
                self._frame = 0
            self.ultima_act = pygame.time.get_ticks()
        if Frame_return:
            return self.lista_frames[ Lista_anima[self._frame] ], self._frame
        else:
            return self.lista_frames[ Lista_anima[self._frame] ]
def Main():
    pygame.init() #incializamos pygame
    #creamos abajo, una pantalla de dimenciones Ancho Alto
    pantalla=pygame.display.set_mode((Ancho,Alto))
    #le ponemos un titulo
    pygame.display.set_caption("Animando un sprite")
    #Inicializo la clase anima
    anima = AnimacionDeArchivo(Archivo="havoc_basic_spritesheet_by_mrshackra-d3bezye.png",
                              Tabla = (11,1))
    anima.redimencion((50,100)) #la hago mas grande
    continuar = True
    while continuar:
        for evento in pygame.event.get():
            if evento.type==pygame.QUIT:
                pygame.quit()
                continuar=False
                sys.exit()#creo que esto es redundante
        pantalla.fill((250,250,250))#rellenamos la pantalla de blanco
        #coloco la imagen en la mitad de pantalla
        pantalla.blit(anima.Frame_es([10,9,8,7,6,5,4,3]), (Ancho/2,Alto/2))
        pygame.display.flip()
Main()
Si tienes alguna duda, solo pregunta 
