Não tenho tido tempo para escrever no blog. No entanto, gostava de divulgar um site que me parece muito interessante: http://www.checkio.org
Este site funciona como um jogo de plataformas. Começamos na plataforma Home e para acedermos a outras plataformas temos de resolver exercícios de programação. Cada exercício tem um número de pontos associado e tem de ser resolvido recorrendo a Python 2.7 ou 3.3.
A parte mais interessante do site é que nos permite ler o código de outras pessoas após resolvermos os desafios. Assim, dá para aprender bastante para quem não for muito fluente em Python como eu.
A título de exemplo, um dos exercícios iniciais é escrever uma função que devolve a transposta de uma dada matriz. O meu código para resolver o exercício foi o seguinte:
1 2 3 4 5 6 7 | def checkio(data): L, C = len(data), len(data[0]) transp = [[0] * L for i in xrange(C)] for i in xrange(L): for j in xrange(C): transp[j][i] = data[i][j] return transp |
Contudo, bastava usar a função standard zip et voilà:
1 2 | def checkio(data): return zip(*data) |
Sem comentários:
Enviar um comentário