Necesito escribir un programa que tome el mensaje codificado, lo voltee, elimine cualquier carácter que no sea una letra o un espacio y emita el mensaje oculto.
Ejemplo de entrada:

d89%l++5r19o7W *o=l645le9H

Rendimiento esperado:

Hello World 

Mi salida:

HelloWorld

Si uso un espacio en blanco como separador, devuelve

H e l l o w o r l d

Mi código:

decode = [ch for ch in input() if ch.isalpha()]
print("".join(decode[::-1]))
respuesta

El carácter de espacio no es un carácter alfanumérico.

En su código original, use:

decode = [ch for ch in input() if ch.isalpha() or ch == ' ']

en cambio.


Si desea conservar otros tipos de espacios en blanco además del carácter de espacio (por ejemplo, tabulaciones, saltos de línea), use:

decode = [ch for ch in input() if ch.isalpha() or ch.isspace()]

Aquí hay un enfoque de expresiones regulares:

inp = "d89%l++5r19o7W *o=l645le9H"
output = re.sub(r'[^A-Z ]+', '', inp, flags=re.I)[::-1]
print(output)  # Hello World
inp = 'd89%l++5r19o7W *o=l645le9H'

decode = []

for i in inp[::-1].split():
    decode.append("".join([ch for ch in i if ch.isalpha()]))

print(" ".join(decode))
Nuevo colaborador
Kennard is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.