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 :

Utilisation des operateurs


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Par défaut Utilisation des operateurs
    Bonjour,

    si j'ai bien compris les operateurs + et * n'ont pas de type. Peut-on neanmoins recuperer une chaine d'operations comme "2+7" pour la transformer en entier ? On ne connais pas necessairement l'operation utilisee.

    Je vois bien un petit programme avec des tests, mais ce n'est pas bien pratique pour des operations plus complexes.


    Merci !

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    à utiliser avec modération.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Mai 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2020
    Messages : 2
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    à utiliser avec modération.

    - W
    Ah, merci !

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Babanof Voir le message
    Peut-on neanmoins recuperer une chaine d'operations comme "2+7" pour la transformer en entier ? On ne connais pas necessairement l'operation utilisee.
    Si tu ne connais pas à l'avance les opérations que tu auras à faire, tu peux alors utiliser le module "operator". Il contient les opérateurs sous forme de fonction. Fonction pouvant alors être choisies ensuite dans le programme selon le cas.

    Exemple: tu ne sais pas si le client veut additionner, soustraire, multiplier ou diviser. Tu lui proposes alors de saisir son choix parmis les caractères +-*/" et ensuite tu appliques l'opération choisie de la façon suivante
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import operator
    choix=input("Votre opération +-*/ :")
     
    tabOp={
    	"+" : operator.add,
    	"-" : operator.sub,
    	"*" : operator.mult,
    	"/" : operator.div,
    }
     
    print("Le résultat est :", tabOp[choix](2, 3))

    Un peu plus sécurisé que de passer par eval()...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Salut,

    Citation Envoyé par Sve@r Voir le message
    Un peu plus sécurisé que de passer par eval()...
    Si le soucis est la sécurité, on peut utiliser ast.literal_eval.

    C'est plus simple que d'écrire un parseur d'expressions arithmétiques (bon exercice par ailleurs) pour analyser et évaluer 2 + 7.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Utilisation des operateurs logiques en C99.
    Par JulieCarree dans le forum Débuter
    Réponses: 12
    Dernier message: 19/04/2013, 14h25
  2. [CR8.5] Utilisation des codes barre
    Par Robert dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/01/2005, 16h13
  3. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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