Cifra de César com lista
Publicado por Bryan Brito (última atualização em 06/06/2016)
[ Hits: 11.289 ]
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.
Comparando dois números e retornando o valor do maior
Formatando número de telefone celular (usando .format)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Wifi não funciona no Aspire ES 15 com o Debian (8)
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta