IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Fonction eval() Python


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 17
    Par défaut Fonction eval() Python
    Salut, je me casse la tête a essayer de comprendre ce code depuis 15 minutes mais je suis incapable de voir a quoi pourrait servir eval. Tout le reste est très clair mais eval reste un mystère. Donc si vous pourriez m'éclaircir ce serait grandement apprécier. Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    import string
     
    def main():
     
        print "This program converts a sequence of ASCII numbers into",
        print "the string of text that it represents."
        print
     
        inString = raw_input("Please enter the ASCII-encoded message: ")
     
        message = ""
     
        for numStr in string.split(inString):
            asciiNum = eval(numStr)
            message = message + chr(asciiNum)
     
            print "The decoded message is:", message
     
    main()

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 222
    Par défaut
    Bonjour,

    eval() sert à évaluer une chaine de caractère comme une expression python:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    print eval("2 + 4")
    #6
    a = 2
    print eval("a == 2")
    #true
    Il n'est pas utilisé à bon escient dans ton exemple. Il vaut mieux utiliser int(). De même l'import du module string est inutile dans ce cas, tu peux utiliser directement inString.split().
    Et la ligne: print "The decoded message is:", message, doit être en dehors du for.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    def main():
     
        print "This program converts a sequence of ASCII numbers into",
        print "the string of text that it represents."
        print
     
        inString = raw_input("Please enter the ASCII-encoded message: ")
     
        message = ""
     
        for numStr in inString.split():
            asciiNum = int(numStr)
            message = message + chr(asciiNum)
     
        print "The decoded message is:", message
     
    main()
    Et en optimisant un petit peu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    print """This program converts a sequence of ASCII numbers into,
    the string of text that it represents.\n"""
     
    inString = raw_input("Please enter the ASCII-encoded message: ")
     
    message = "".join([chr(int(numStr)) for numStr in inString.split()])
     
    print "The decoded message is:", message

Discussions similaires

  1. Fonction eval en java ?
    Par ramislebob dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2006, 00h22
  2. Parsage avec la fonction eval
    Par alain31tl dans le forum Langage
    Réponses: 12
    Dernier message: 23/11/2005, 15h27
  3. Simuler la fonction eval
    Par topwl dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/08/2005, 01h44
  4. Existe-t-il une fonction Eval() sous Delphi ?
    Par Hell dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2004, 17h45
  5. [String] équivalent de la fonction eval() en javascript
    Par jeyce dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 01/09/2004, 08h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo