Astuces avec les caractères, ord et chr
Convertir les lettres en nombres et inversement
Astuces avec les caractères, ord et chr est une leçon Competitive Programming Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Competitive Programming Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Competitive Programming Academy comprend 4 leçons au total.
Les lettres sont des nombres
Chaque caractère lu par votre programme est stocké sous forme de nombre. Savoir ce qu’est un point de code vous permet d’effectuer des calculs sur les lettres. 🔢
Découvrir ord()
La fonction ord() transforme un caractère unique en son point de code entier. Elle fait le lien entre les lettres et l’arithmétique.
print(ord('A')) # 65
print(ord('a')) # 97Découvrir chr()
La fonction chr() effectue l’opération inverse : donnez-lui un nombre et elle renvoie le caractère correspondant. Ensemble, elles forment une conversion aller-retour claire.
print(chr(65)) # 'A'
print(chr(97)) # 'a'Les lettres sont consécutives
L’astuce essentielle est la suivante : les lettres de a à z ont des points de code consécutifs, tout comme celles de A à Z. Vous pouvez donc indexer les lettres par une simple soustraction.
Associer une lettre à 0-25
Soustrayez la lettre de base pour obtenir un indice commençant à 0. C’est ainsi que vous transformez une lettre en case de tableau pour le comptage.
idx = ord('c') - ord('a')
print(idx) # 2Revenir d’un indice à une lettre
Dans l’autre sens, ajoutez l’indice à la base et appelez chr(). La case 0 devient alors 'a' et la case 25 devient 'z'.
ch = chr(ord('a') + 2)
print(ch) # 'c'Décaler une lettre (César)
Pour décaler une lettre vers l’avant, ajoutez la quantité voulue, puis effectuez un retour cyclique avec le modulo 26. C’est le cœur d’un problème de chiffrement de César.
shifted = chr((ord('y') - ord('a') + 3) % 26 + ord('a'))
print(shifted) # 'b'Les majuscules et les minuscules diffèrent de 32
En raison de leur disposition, chaque lettre majuscule se trouve exactement 32 positions avant sa correspondante minuscule. Vous pouvez modifier la casse par de simples calculs si nécessaire.
print(ord('a') - ord('A')) # 32Les chiffres sont aussi des caractères
Le caractère '7' n’est pas le nombre 7. Soustrayez ord('0') pour convertir un caractère représentant un chiffre en sa véritable valeur numérique.
d = ord('7') - ord('0')
print(d) # 7Vérifications rapides sur les lettres
Pour les tests oui/non, des méthodes comme isalpha() et isdigit() sont plus claires que la comparaison manuelle des points de code.
print('x'.isalpha()) # True
print('5'.isdigit()) # TruePourquoi cela compte en CP
Associer les lettres à des indices vous permet d’utiliser un petit tableau de 26 cases plutôt qu’un dictionnaire. C’est plus rapide et c’est une technique incontournable des problèmes sur les chaînes.
Vérification rapide
Une petite question sur l’arithmétique appliquée aux lettres.
Récapitulatif
Vous avez appris que ord et chr convertissent les lettres en nombres et inversement, et que les points de code consécutifs permettent d’indexer, de décaler et de tester les caractères avec de simples calculs. 🎉
Questions Fréquemment Posées
La leçon « Astuces avec les caractères, ord et chr » est-elle gratuite ?
Oui — le texte complet de « Astuces avec les caractères, ord et chr » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Competitive Programming Academy, passe à CoddyKit PRO. Le cours Competitive Programming Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Astuces avec les caractères, ord et chr » ?
Convertir les lettres en nombres et inversement Tu pratiques Competitive Programming Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Competitive Programming Academy ?
Aucune expérience préalable n'est requise. Competitive Programming Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Astuces avec les caractères, ord et chr » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Competitive Programming Academy ?
Oui. Chaque leçon Competitive Programming Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Astuces avec les caractères, ord et chr
- Compter les lettres avec une table de fréquences
- Vérifier correctement les palindromes
- Découper, nettoyer et réunir les mots