Como o Marcus foi legal e usou minha data de nascimento como exemplo, vou dar uma mão. ;-)
Primeiro de tudo: coloque o código num site de paste, como esse:
http://pastebin.com/LjCBAH72. Eu tenho uma conta lá, é muito legal, tipo uma rede social de códigos. Assim fica fácil de você olhar o meu código ou copiá-lo pra testar. Legal né? Não perde formatação, fica endentado e ainda tem sintaxe destacada por cores. Bem melhor que colocar o código no corpo da mensagem.
Mas vamos ao código. Vou explicá-lo por partes, identificando as linhas:
1-2: cabeçalho do programa. Não pense muito nisso agora. ;-)
4: definição de uma função. Isso vai ser importante para usarmos testes unitários nessa função. Veja adiante.
6: explicação do que a função faz. :-P
7-14: alguns testes do funcionamento da função, com valores diversos. coloquei 4, mas podes colocar outros.
17-21: implementação da lógica que vai fazer passar os testes.
23-27: sempre que você rodar este arquivo ao invés de importá-lo, o teste será executado. Se houverem erros, serão reportados.
Para ver testes sendo executados, digite: "python data_extenso.py -v", supondo ser este o nome do arquivo.
Pra pensar: em fiz primeiro o esqueleto da função, com os testes, e só depois fui implementar o código que fez o teste passar. Se você incluir um teste novo e falhar, reimplemente até que passe em todos os testes. Assim, você garante que não arruma um lado e estraga outro.
Tá bom, eu fiz os testes depois. Mas eu tinha implementado com dicionário, fiz os testes, passei em todos e depois mudei a implementação para usar uma lista. E passou nos testes, então o teste ajudou. Depois que escrevi os testes, ele deu uns errinhos, que eu consertei arrumando o código. Isso ajuda muito.
Aprenda a desenvolver assim, fazendo primeiro os testes e você vai longe. Dá mais trabalho, mas eu nunca contrataria um programador preguiçoso.
Eu não sou especialista em testes, mas nisso o pessoal aqui da lista pode ajudar.
Um abraço e boa noite.
Marco André
P.S.: Um dia ainda faço os testes unitários de toda a lista de exercícios do pythonbrasil.