Cifra de César com lista

Publicado por Bryan Brito (última atualização em 06/06/2016)

[ Hits: 8.762 ]

Homepage: .

Download cifraCesar.py




Estou estudando Python na faculdade e achei que o melhor método seria resolver um problema mais amplo do que somente as listas de exercícios.

Como estou estudando lista, quis tentar fazer com lista, já que não encontrei nada em pesquisa por aí, somente vi com classes e algum mais avançados do que eu me encontro no momento.

Enfim, espero críticas construtivas. ;D

  



Esconder código-fonte

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
#Cifra de César com lista.
alfabeto = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
nome = list(input('Digite o nome: '))
salto = int(input('Valor do salto: '))
cont = 0
lista = []
cifra = []
while cont < salto: #Insere o valor 0, na posição 0 da lista alfabeto.
    cont += 1
    alfabeto.insert(0,0)
for i in range(len(nome)): #Compara os caracteres inserido com a lista alfabeto atualizada com o salto e armazena o valor na lista.
    for j in range(len(alfabeto)):
        if nome[i] == alfabeto[j]:
            lista.append(j)
while cont != 0: #Remove os valores 0 inseridos para poder imprimir a cifra.
    cont -= 1
    alfabeto.remove(0)
for n in range(len(lista)):
    for m in range(len(alfabeto)):
        if lista[n] > 25: #Se o valor armazenado na lista for maior que 25 ele simplesmente não e identificado, assim a lista se "repete".
                lista[n] -= 25
            elif lista[n] == m:
                cifra.append(alfabeto[m])
print(''.join(cifra)) #Apresenta a lista como uma string.

Scripts recomendados

Organizar alfabeticamente

Par ou Impar em Python

bissexto.py

Conversor de Temperatura em Python

Calculador de "Hashes" MD5 e SHA1


  

Comentários
[1] Comentário enviado por Bhyan em 07/06/2016 - 02:08h

Uma pequena correção que só me veio agora, a linha 24 apresenta uma endentação incorreta, para corrigir apenas precisa deixar o elif na mesma coluna que o if acima.


Contribuir com comentário