[ Foro de Python ]
Hola, estoy haciendo un curso para principiantes en edX y me pusieron el siguiente ejercicio:
Cargar el fichero "Quijote.txt" del ejercicio del tema 7 con el código de caracteres correcto, crear una función que permita seleccionar el número de párrafo que se solicita más abajo (empezando a contar por 0 para el primer párrafo) como en el ejercicio del tema 7 y le aplique a ese párrafo una encriptación por desplazamiento de código (como la explicada en el tema 6) con el desplazamiento positivo indicado más abajo, devolviendo el párrafo encriptado y obteniendo a la vez el valor numérico del código del caracter que se encuentra en la posición del párrafo que se indica más abajo (empezando a contar por 0 para el primer caracter del párrafo). Guardar el párrafo encriptado en una variable y crear una función a la que pasarle el párrafo encriptado y el desplazamiento aplicado y que permita desencriptar el texto aplicando el mismo desplazamiento de código en sentido inverso (esta parte no se evalua).
Número de párrafo: 3
Desplazamiento del código de encriptación: 9
Número de carácter dentro del párrafo: 1254
Yo tengo lo siguiente:
archivo = open("Quijote.txt")
texto = archivo.read()
def seleccion(parrafo):
parrafos = texto.split("\n")
while " " in parrafos:
parrafos.remove(" ")
parrafoseleccionado = parrafos[parrafo]
parrafocodificado = ""
desplazamiento = 9
for letra in parrafoseleccionado:
parrafocodificado = parrafocodificado + chr(ord(letra) + desplazamiento)
print(parrafocodificado[1254])
Pero me sale: string index out of range
La verdad no sé cómo hacerlo, como les cuento, estoy iniciando en Python
Mira aquí:
https://aprendeaprogramar.com/mod/forum/discuss.php?d=5281
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)