Python, detecter les lettre dans une liste

Résolu
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. 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. 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"
      1. on peut utiliser simplement

        if "a" in num : print "ok"
        else: print "non ok"
    2. oui merci a tous, c'etait une simple erreur de ma part... isdigit ne pouvait pas marcher dans ce cas ^^