Cifra de César com lista

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

[ Hits: 11.328 ]

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

Cálculo de Índices Contábeis

Calculando Movimento Uniforme

Validador e gerador de CPF em Python

Loja de tintas

Mini-dicionário de termos em Python e PyQT


  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts