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.
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 dansS
sont en majuscules et qu'il existe un sinon, au moins un caractère majuscule dansS
,False
.
Vous pouvez utiliser des expressions régulières:
all_uppercase = bool(re.match(r'[A-Z]+$', Word))
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