Trucos con caracteres, ord y chr
Convierta letras en números y viceversa
Trucos con caracteres, ord y chr es una lección gratuita de Competitive Programming Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Competitive Programming Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Competitive Programming Academy incluye 4 lecciones en total.
Las letras son números
Cada carácter que lee su programa se almacena internamente como un número. Conocer su punto de código le permite hacer operaciones matemáticas con las letras. 🔢
Conocer ord()
La función ord() convierte un solo carácter en su punto de código entero. Es el puente entre las letras y la aritmética.
print(ord('A')) # 65
print(ord('a')) # 97Conocer chr()
La función chr() hace lo contrario: recibe un número y devuelve el carácter correspondiente. Juntas forman una conversión de ida y vuelta clara.
print(chr(65)) # 'A'
print(chr(97)) # 'a'Las letras son consecutivas
El gran truco: a to z tienen puntos de código consecutivos, al igual que A to Z. Por eso puede obtener índices de letras mediante una resta sencilla.
Mapear una letra a 0-25
Reste la letra base para obtener un índice basado en 0 claro. Así puede convertir una letra en una posición de array para contarla.
idx = ord('c') - ord('a')
print(idx) # 2Convertir un índice de nuevo en letra
Para hacer lo contrario, sume el índice a la base y llame a chr(). Ahora la posición 0 se convierte en 'a' y la posición 25 en 'z'.
ch = chr(ord('a') + 2)
print(ch) # 'c'Desplazar una letra (César)
Para desplazar una letra hacia delante, sume la cantidad y aplique después el módulo 26 para volver al principio cuando sea necesario. Esta es la esencia de un problema de cifrado César.
shifted = chr((ord('y') - ord('a') + 3) % 26 + ord('a'))
print(shifted) # 'b'Mayúsculas y minúsculas difieren en 32
Por la disposición de los códigos, cada letra mayúscula está exactamente 32 posiciones por debajo de su equivalente minúscula. Puede cambiar entre mayúsculas y minúsculas usando solo aritmética si alguna vez lo necesita.
print(ord('a') - ord('A')) # 32Los dígitos también son caracteres
El carácter '7' no es el número 7. Reste ord('0') para convertir un carácter dígito en su valor numérico real.
d = ord('7') - ord('0')
print(d) # 7Comprobaciones rápidas de letras
Para pruebas de sí o no, métodos como isalpha() e isdigit() son más claros que comparar puntos de código manualmente.
print('x'.isalpha()) # True
print('5'.isdigit()) # TruePor qué esto importa en programación competitiva
Mapear las letras a índices le permite usar un pequeño array de 26 posiciones en lugar de un diccionario. Es más rápido y una técnica habitual en problemas de cadenas.
Comprobación rápida
Una pregunta rápida sobre aritmética con letras.
Repaso
Ha aprendido que ord y chr convierten letras en números y viceversa, y que los puntos de código consecutivos permiten indexar, desplazar y comprobar caracteres con operaciones matemáticas sencillas. 🎉
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Trucos con caracteres, ord y chr» es gratis?
Sí — el texto completo de «Trucos con caracteres, ord y chr» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Competitive Programming Academy, actualiza a CoddyKit PRO. El curso de Competitive Programming Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Trucos con caracteres, ord y chr»?
Convierta letras en números y viceversa Practicas Competitive Programming Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Competitive Programming Academy?
No se requiere experiencia previa. Competitive Programming Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Trucos con caracteres, ord y chr»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Competitive Programming Academy?
Sí. Cada lección de Competitive Programming Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Trucos con caracteres, ord y chr
- Cuente letras con una tabla de frecuencias
- Comprobaciones correctas de palíndromos
- Separe, elimine y vuelva a unir palabras