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 :

Mon if ne marche pas et je ne voit pas le problème, pas d'erreur.


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 40
    Par défaut Mon if ne marche pas et je ne voit pas le problème, pas d'erreur.
    Bonjour à tous,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    lu=lu[2:len(lu)-3]
    print(contenu[n])       
    print(lu)
    if contenu[n]==lu:
      print("hello")
    Mon if ne marche pas alors que mes deux valeurs sont identique.
    Si quelqu'un peut me donner un coup de main.
    Merci d'avance
    Stéphane

  2. #2
    Membre averti Avatar de PoelQ
    Homme Profil pro
    Étudiant Exia.Cesi
    Inscrit en
    Janvier 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant Exia.Cesi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2015
    Messages : 22
    Par défaut
    Bonjour Stéphane, si tu veux qu'on t'aides il faudrait mettre ton code en entier, sinon on ne peut pas te répondre sachant que la variable que tu compares n'est pas dans ton morceau de code.

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 787
    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 787
    Par défaut
    Salut,

    Citation Envoyé par harold44 Voir le message
    Mon if ne marche pas alors que mes deux valeurs sont identique
    Si les objets contenu[n] et lu étaient comparables et égaux, la condition devrait être vraie et le code afficher "hello".
    Postez ce qu'affichent "print (type(contenu[n]), contenu[n])" et "print (type(lu), lu)", on y devrait y voir plus clair.

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

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 40
    Par défaut
    Code complet
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    import serial
    import time
    import os
     
    monfichier = open('data.txt', 'r')
    time.sleep(1)
    contenu = monfichier.readlines()
    n = 0
     
    ser = serial.Serial('COM5', 9600, timeout=1)
    time.sleep(2)
    for line in contenu:
     
        if contenu[n]!="":
     
           ser.write(contenu[n].encode())
           time.sleep(0.5)
           lu = ser.readline()
           lu=str(lu)
           lu=lu[2:len(lu)-3]
           print(contenu[n])       
           print(lu)
           if (contenu[n]==lu):
             print("hello")  
     
     
     
        n += 1
     
    print (n)
     
    monfichier.close()   
    ser.close()
    Pour faire simple, si j'envoie un code sur mon port serial, s'il le connait, le port renvoie ce même code, sinon il renvoie rien.
    Et mon if ne me renvoie rien lorsque je lance ce programme, donc pas de hello alors que j'ai un code de retour.

  5. #5
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     print (type(contenu[n]), contenu[n])
     print (type(lu), lu)
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    $AD001
     
    $AD001
    <class 'str'> $AD001
     
    <class 'str'> $AD001
    $AD000
     
    $AD000
    <class 'str'> $AD000
     
    <class 'str'> $AD000
    $AD001
     
    $AD001
    <class 'str'> $AD001
     
    <class 'str'> $AD001
    $AD000
     
    $AD000
    <class 'str'> $AD000
     
    <class 'str'> $AD000
    $AD001
     
    $AD001
    <class 'str'> $AD001
     
    <class 'str'> $AD001
    $AD000
     
    $AD000
    <class 'str'> $AD000
     
    <class 'str'> $AD000
    6
    Les deux valeurs sont identiques, c'est ce qui me bloque, je ne comprend pas trop.

  6. #6
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2011
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2011
    Messages : 40
    Par défaut
    C'est un saut de ligne que je n'avais pas vu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (contenu[n]==lu+'\n'):
             print("hello")
    Désolé pour le dérangement.
    Merci encore.
    Stéphane

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mon select ne marche pas.
    Par Aurèl90 dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 01/12/2005, 15h59
  2. [CSS] Une partie de mon CSS ne marche pas sous IE
    Par YanK dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 28/10/2005, 17h58
  3. mon select count(*) marche pas
    Par zorba49 dans le forum Langage SQL
    Réponses: 14
    Dernier message: 05/08/2005, 08h28
  4. Tcsh - Mon script ne marche pas
    Par Aramis dans le forum Linux
    Réponses: 5
    Dernier message: 13/05/2004, 18h26
  5. [IB71] mon Blob ne marche pas correctement
    Par BoeufBrocoli dans le forum InterBase
    Réponses: 2
    Dernier message: 17/09/2003, 14h03

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