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 :

syntax error


Sujet :

Python

Vue hybride

mamitosss syntax error 03/11/2017, 00h56
VinsS Salut, Ton code est... 03/11/2017, 08h49
mamitosss Mrc d'avoir me corriger les... 03/11/2017, 16h38
lg_53 Ton code fonctionne là car tu... 03/11/2017, 16h50
mamitosss mais je la appellé! regardez... 03/11/2017, 17h56
lg_53 Quand tu écris : def... 03/11/2017, 09h10
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 6
    Par défaut syntax error
    bonsoir chers professeurs!
    Je suis très debutant en python, je dois programmer une petite application python pour gerer mes contacts l'application à comme fonctions d'ajouter un contact(nom, prenom,email, tel,whatapp,et meme face s'il existe peut etre que j'ajoutera plus tard son twitter, instagram,*snapchat et meme une photo) de le modifier s'il est demandé, chercher un contact(par l'un de ses attributs), afficher mes contacts existants dejà et suprimer un contact.
    j'ai deja ecrire un peut de mon code et ça me montre un erreur en ligne 42, il n'arrive pas à parcourir les 2 boucles for en meme temps!

    je vs demande de m'aider à corriger mon code surtout que je dois le finir demain.
    Fichiers attachés Fichiers attachés
    • Type de fichier : py my.py (1,5 Ko, 62 affichages)

  2. #2
    Expert confirmé

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

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

    Ton code est étrange, ta classe définit un contact et gère en même temps la liste des contacts. Ce sont deux choses différentes qui devraient être séparées.

    À première vue je ne vois pas d'erreur de syntaxe mais par contre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            self=[self.nom,self.prenom,self.email,self.tel,self.whatsapp]
    tu ne peut pas réaffecter la référence self, c'est l'instance de la classe et ne peut subitement devenir une liste. À supprimer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        def chercher_nom(phone):
            for l in liste_contact:
                nom, tel = liste
                if tel == phone:
                    return nom
    Tout d'abord c'est Liste_contact avec majuscule, ensuite liste est inconnu dans cette fonction et les nom, tel, etc sont des attributs du contact tu ne peux pas les lire de cette façon.
    Je pense que tu voulais plutôt faire quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        def chercher_nom(phone):
            for l in Liste_contact:
                if l.tel == phone:
                    return l.nom
    Si il y a d'autres erreurs, poste le traceback.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 6
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Salut,

    Je pense que tu voulais plutôt faire quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        def chercher_nom(phone):
            for l in Liste_contact:
                if l.tel == phone:
                    return l.nom
    Si il y a d'autres erreurs, poste le traceback.
    Mrc d'avoir me corriger les erreurs
    ms elle n'affiche rien jusqu'a present
    Nom : Capture123.JPG
Affichages : 73
Taille : 20,9 Ko

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Ton code fonctionne là car tu n'appelles jamais la fonction chercher_nom. Python ne rentre donc jamais dans cette fonction, et donc aucne erreur n'apparait

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 6
    Par défaut
    mais je la appellé!
    regardez b1 Mr lg_53

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Quand tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def chercher_nom(phone):
            for l in liste_contact:
                nom, tel = liste
                if tel == phone:
                    return nom
    la variable "liste", elle vient d'ou ? Ce serait pas plutot le "l" que tu obtiens en parcourant liste_contact ?
    D'ailleurs par souci de lisibilité on écrirait plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for contact in liste_contact
    Ensuite, si tu écris
    Normal que ca ne marche pas. Ca marcherait si contact était un tuple ou une liste de longueur 2. Là c'est pas du tout le cas, c'est un objet de type Contact ! Ne te complique donc pas la vie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        def chercher_nom(phone):
            result = None    #### Il faut que ta fonction retourne qqch meme si elle n'a trouvé aucune correspondance !
            for contact in liste_contact:
                if contact.tel == phone:
                    result = contact.nom
                    break       #### On peut arreter la boucle ici, puisqu'on a trouvé une correspondance
            return result

    Outre ces points là, il y a de sérieux problème de hierarchisation. La classe Contact, ok bien, c'est un bon début. Par contre la variable Liste_contact, non ca c'est pas une bonne idée. Fait tois une classe Carnet_d_adresse, dont le principal attribut sera une liste de Contact.
    Une fois que tu as découper comme ca, tu vois bien que les méthodes pour ajouter ou supprimer des contacts dans la liste des contacts n'ont rien à faire dans la classe Contact ! De même pour l'affichage de tous les contacts !

Discussions similaires

  1. [Configuration] Problème après l'installation (Parse error: syntax error,..)
    Par beur dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 21/03/2006, 14h08
  2. syntax error
    Par ludovik dans le forum C
    Réponses: 5
    Dernier message: 18/03/2006, 21h32
  3. Syntax error
    Par vincedjs dans le forum Langage
    Réponses: 3
    Dernier message: 01/02/2006, 16h58
  4. Syntax Error / Questions
    Par kedare dans le forum Général Python
    Réponses: 15
    Dernier message: 12/09/2005, 14h05
  5. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21

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