typestar

Cifrado César en Python

El antiguo cifrado por sustitución, como ejercicio de aritmética modular.

def cesar(texto, desplazamiento):
    salida = []
    for ch in texto:
        if ch.isalpha():
            base = ord("A") if ch.isupper() else ord("a")
            salida.append(chr((ord(ch) - base + desplazamiento) % 26 + base))
        else:
            salida.append(ch)
    return "".join(salida)

Cómo funciona

  1. Desplaza cada letra una cantidad fija.
  2. % 26 da la vuelta después de la z y regresa a la a.
  3. Mayúsculas y minúsculas se preservan; lo que no es letra pasa intacto.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
9
Caracteres a escribir
238
Tokens
83
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 52 segundos.

Escribe este fragmento

Paso 9 de 9 en Cadenas; paso 15 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →