Cifra de César com lista
Publicado por Bryan Brito (última atualização em 06/06/2016)
[ Hits: 11.667 ]
Homepage: .
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
#!/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.
Ler dois números e informa o dividendo, divisor, quociente e resto.
Gerador de grafos no formato .gif
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Pergunta: Meu teclado não está respondendo direito como e consertar? (0)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)









