domingo, 30 de outubro de 2011

Problema 4.7

O facto de este ser o último problema da folha não significa que seja o mais difícil. com efeito, e até em função do que já vimos no problema 4.6 a solução apenas depende do correcto uso do módulo random e de saber como ir retirando caracteres ao alfabeto de modo aleatório.
01.def cria_chave():
02.    """Devolve uma chave para encriptar mensagens. Constrói uma permutação."""
03.    alfabeto = 'abcdefghijklmnopqrstuvwxyz '
04.    chave = ''
05.    while alfabeto:
06.        # escolhe próximo caracter
07.        indice = random.randint(0,len(alfabeto)-1)
08.        car = alfabeto[indice]
09.        # actualiza chave
10.        chave = chave + car
11.        # actualiza alfabeto
12.        alfabeto = alfabeto.replace(car,'')
13.    return chave

Sem comentários:

Enviar um comentário