web-dev-qa-db-fra.com

Vérifier si un caractère d'une chaîne est en majuscule Python

Dis que j'ai une chaîne de mots.

Cette chaîne peut changer les caractères qu’elle contient.

par exemple. Word = "UPPER£CASe"

Comment pourrais-je tester la chaîne pour voir si un caractère de la chaîne n'est pas en majuscule. Cette chaîne ne doit contenir que des lettres majuscules et aucune autre ponctuation, chiffres, lettres minuscules, etc.

6
ffgghhffgghh

Vous devez utiliser str.isupper() et str.isalpha() function.

Par exemple.

is_all_uppercase = Word.isupper() and Word.isalpha()

Selon les docs:

S.isupper() -> bool

Renvoie True si tous les caractères mis en majuscule dans S sont en majuscules et qu'il existe un sinon, au moins un caractère majuscule dans S, False.

16
Yash Mehrotra

Vous pouvez utiliser des expressions régulières:

all_uppercase = bool(re.match(r'[A-Z]+$', Word))
3
Luke Yeager

Yash Mehrotra a la meilleure réponse à ce problème, mais si vous souhaitez également savoir comment vérifier cela sans les méthodes, pour des raisons purement pédagogiques:

import string

def is_all_uppercase(a_str):
    for c in a_str:
        if c not in string.ascii_uppercase:
            return False
    return True
2
Diogo Martins