Python, detecter les lettre dans une liste

Résolu/Fermé
TankilyoraDbug Messages postés 985 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 23 octobre 2011 - 18 août 2010 à 15:30
 Loupix - 14 mai 2011 à 21:21
Bonjour,

Je debute en Python et j'aimerais connaitre une methode pour detecter si une liste contient des lettres.

Par exemple, si j'ai:
num=[1, 2, 3, 4, a]

je veux que Python detecte ce "a" et me retourne un message d'erreur.
J'ai essaye num.isdigit() mais ca n'a pas l'air de marcher...

merci de votre aide!


A voir également:

4 réponses

Une simple boucle for mon pote
for lettre in num:
1
c'est normal que ça ne fonctionne pas car tu ne peux pas donner une liste comme attribut à cette fonction mais un string.

Comme indiqué par charly, mets ta fonction dans une boucle:

for element in num:
    if str(element).isdigit() == False:
         print 'message d'erreur'
0
Utilisateur anonyme
20 août 2010 à 11:14
num=[1, 2, 3, 4, a]

Ton a est une variable, normal que cela ne fonctionne pas si elle n'est pas déclarée.

Je pense que tu aurais dû mettre num=[1, 2, 3, 4, "a"] où ton a est un string.

for i in num:
    if isinstance(i, int): print "good"
    else: print "erreur"
0
on peut utiliser simplement

if "a" in num : print "ok"
else: print "non ok"
0
TankilyoraDbug Messages postés 985 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 23 octobre 2011 218
20 août 2010 à 14:34
oui merci a tous, c'etait une simple erreur de ma part... isdigit ne pouvait pas marcher dans ce cas ^^
0