Python, detecter les lettre dans une liste

Résolu
TankilyoraDbug Messages postés 1039 Statut Membre -  
 Loupix -
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!



--
vive la pomme.

4 réponses

  1. charly
     
    Une simple boucle for mon pote
    for lettre in num:
    1
  2. 6ril
     
    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'
    1
  3. Utilisateur anonyme
     
    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
    1. Loupix
       
      on peut utiliser simplement

      if "a" in num : print "ok"
      else: print "non ok"
      0
  4. TankilyoraDbug Messages postés 1039 Statut Membre 219
     
    oui merci a tous, c'etait une simple erreur de ma part... isdigit ne pouvait pas marcher dans ce cas ^^
    0