Étant donné un caractère, on souhaiterait savoir s'il appartient à certaines classes de caractères (chiffre, lettre, minuscule, majuscule…) afin d'effectuer des opérations différentes au sein du programme. Nous allons voir comment faire pour quelques classes très courantes.
caractere = input() if caractere.isdigit(): print("Il s'agit d'un chiffre") if caractere.islower(): print("Il s'agit d'une lettre minuscule") if caractere.isupper(): print("Il s'agit d'une lettre majuscule") if caractere.isalpha(): print("Il s'agit d'une lettre")
Il s'agit d'une lettre majuscule Il s'agit d'une lettre
Il est préférable d'utiliser les fonctions toutes faites, mais il est aussi possible de se baser directement sur des comparaisons de caractères.
caractere = input() if "0" <= caractere and caractere <= "9": print("Il s'agit d'un chiffre") if "a" <= caractere and caractere <= "z": print("Il s'agit d'une lettre minuscule") if "A" <= caractere and caractere <= "Z": print("Il s'agit d'une lettre majuscule") if ("a" <= caractere and caractere <= "z") or ("A" <= caractere and caractere <= "Z"): print("Il s'agit d'une lettre")
Il s'agit d'une lettre majuscule Il s'agit d'une lettre
Attention, le code ci-dessus ne va fonctionner qu'avec des caractères non accentués, c'est-à-dire les seuls que nous manipuleront dans les exercices. Si vous souhaitez un jour manipuler des caractères accentués, utilisez les fonctions toutes faites, qui elles marcheront.
Les mêmes fonctions sont disponibles pour des chaînes de caractères complètes :
texte = input() if texte.isdigit(): print("Le texte ne contient que des chiffres") if texte.islower(): print("Le texte ne contient que des lettres minuscules") if texte.isupper(): print("Le texte ne contient que des lettres majuscules") if texte.isalpha(): print("Le texte ne contient que des lettres")