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 :

Syntaxe pour conditions


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut Syntaxe pour conditions
    Bonjour,

    Je souhaite rassembler plusieurs conditions en une seule ligne

    au lieu de :

    texte = [i for i in texte if i != '?']
    texte = [i for i in texte if i != '!']
    texte = [i for i in texte if i != '.']


    avoir quelque chose du genre texte = [i for i in texte if i != '?' or i != '!' or != '.']

    Mais apparemment cette dernière syntaxe est mauvaise.

    Pouvez vous me corriger?

    EDIT:
    je pense avoir trouvé une solution à mon problème
    texte = [i for i in texte if i != ( '?', '!', '.')]

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 822
    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 822
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bry01 Voir le message
    avoir quelque chose du genre texte = [i for i in texte if i != '?' or i != '!' or != '.']

    Mais apparemment cette dernière syntaxe est mauvaise.

    Pouvez vous me corriger?
    texte = [i for i in texte if i != '?' or i != '!' or i != '.'].

    Ceci dit, cette syntaxe corrigée fonctionne du point de vue Python... mais ne fonctionnera pas du point de vue algo. En effet, si ta chaine contient "123?456!" ben quand le parseur arrive au "?" comme c'est différent de "!" il le prend en compte, et quand il arrive au "!" ben comme c'est différent de "?" il le prend aussi en compte. Bref, cette instruction fait exactement la même chose que celle-là: texte=list(texte). Peut-être revoir les lois de De Morgan serait un plus...
    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]

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    texte = [i for i in texte if i != '?' or i != '!' or i != '.']
    Merci pour l'aide,
    La syntaxe de mon edit est-elle aussi correcte?

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 822
    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 822
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bry01 Voir le message
    texte = [i for i in texte if i != ( '?', '!', '.')].
    La syntaxe de mon edit est-elle aussi correcte?
    Encore pire. i étant une lettre ne sera jamais égal à un tuple donc test toujours vrai donc là encore identique à texte=list(texte).
    Donc là cette fois syntaxe parfaite... mais résultats là encore peut-être pas de ceux que tu attends (et sur ce point, comme tu ne nous a rien dit...)
    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 confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 306
    Par défaut
    Salut,

    Tu y étais presque.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    texte = [i for i in texte if not i in ('?', '!', '.')]

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 822
    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 822
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Tu y étais presque.
    Fallait pas lui dire. Maintenant il n'aura plus de motivation pour comprendre où était son erreur ; surtout le premier où il mets des "or" là où les lois de De Morgan indiquent qu'il faut des "and"...
    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]

Discussions similaires

  1. Syntaxe pour condition sur macrovariable
    Par Françoise_ dans le forum Macro
    Réponses: 4
    Dernier message: 17/03/2016, 15h14
  2. [PHP 5.0] Autre syntaxe pour condition if
    Par goofyto8 dans le forum Langage
    Réponses: 2
    Dernier message: 13/08/2014, 11h48
  3. Syntaxe pour les conditions
    Par Gabout dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/05/2007, 12h27
  4. Bonne syntaxe pour condition dans une requete
    Par cedlannoy dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/03/2007, 15h24
  5. Réponses: 8
    Dernier message: 02/05/2006, 16h07

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