Mais um blog inútil.

Maio 10, 2009

Arvorezinha de Letras

Filed under: Arvorezinha — drune @ 20:55

Olá a todos,

Todos os que visitam o blol conhecem de certeza o sucesso da árvorezinha, publicada imensas vezes de inúmeras formas sempre com o mesmo grau de inutilidade.

Quando passava os olhos no blol deparei-me com um post do spico que fazia uma arvorezinha com letras de forma manual. Ora não seria isto engraçado ser feito com o mesmo entusiasmo que a v1.0 da arvorezinha nas mais inúmeras formas cada uma mais inútil que a anterior?
Decidi assim ser o primeiro a fazê-lo em python, pois é simples de entender para todos os que quiserem pegar nisto.

As regras do RFC são simples:

* Toda a árvorezinha é desenhada com base numa palavra
* A árvorezinha tem uma dimensão de copa, ou seja é o número de linhas representado pela copa
* A base da árvorezinha de letras deve ter a palavra repetida o número de vezes o número de letras que contem.
* A base da árvorezinha deve ter um espaço em após cada letra (opcional)
Assim convido-vos a todos a escrever as vossas versões da árvorezinha de letras.

Aqui está um exemplo em python:

import sys

# Funcao que desenha a copa da arvore
def copaArvorezinha(a,n):
 i=0
 ic=0
 x=''
 while (i<=n):
 x=x+a[i]
 i+=1
 ic+=1
 print x #imprime as letras concactenadas
 if (len(a) == i):
 if (ic < n):
 i=0
 else:
 break

def baseArvorezinha(a):
 # desenhar a base
 for char in a:
 s = ' '.join(a)
 print s

## MAIN ##

if len(sys.argv) <= 2 or len(sys.argv) >=4:
 print '''Uso: python arvorezinha_de_letras.py
<palavra> <tamanho_copa>
 Opcoes:
<palavra> : Palavra com que a arvore de letras sera desenhada [string]
 <tamanho_copa> : Numero de linhas da copa [int]'''
else:
 try:
 #dividir letra a letra
 letters = [k for k in sys.argv[1]]
 # desenhar agora ;)
 copaArvorezinha(letters,int(sys.argv[2]))
 baseArvorezinha(letters)
 except:
 print '''Uso: arvorezinha_de_letras.py
<palavra> <tamanho_copa>
 Opcoes:
<palavra> : Palavra com que a arvore de letras sera desenhada [string]
 <tamanho_copa> : Numero de linhas da copa [int]'''

Download

O resultado é algo do género:
arvorezinha_letras

Um abraço,

Comentar

widgeon
widgeon
widgeon
widgeon