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 :

problème erreur syntaxe


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 3
    Par défaut problème erreur syntaxe
    Bonjour !

    Je débute dans la programmation et je me confronte à mes premiers problèmes de syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #coding:utf-8
     
    a = int(input('choisissez une année :'))
    	print ("année", a)
     
    if a%4==0
    	print (l'année est bissextile")
    else 
    	print ("l'année n'est pas bissextile")
    et voici la réponse de mon invite de commande :

    D:\Bureau>Python progra.py
      File "progra.py", line 5
        if a%4==0
                ^
    SyntaxError: invalid syntax
    Je ne comprends pas...
    Merci par avance

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    346
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 346
    Par défaut
    Bonjour et bienvenue dans votre apprentissage de Python.

    Utiliser la balise code pour insérer du code source (icône # dans l'interface de l'éditeur de message).

    https://docs.python.org/fr/3.7/refer...und_stmts.html

    Je cite :
    Chaque en-tête de clause commence par un mot-clé spécifique et se termine par le caractère deux-points

  3. #3
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Bonjour,

    Tout d'abord utilisez la balise code, elle est là pour ça
    La structure des blocs en python se fait via l'indentation, ça force à faire du code propre, enfin plus ou moins
    La condition pour l'année bissextile est fausse, une année est bissextile si elle est divisible par 4, mais pas par 100 sauf tous les 400 ans, exemple 4 -> bissextile, 100-> non bissextile, 800 -> bissextile

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 3
    Par défaut
    Merci pour vos réponses rapide !
    Oui merci pour les deux points, je me suis rendue compte de l'oubli des deux points ..
    Oui c'est encore a travailler..
    Je voulais m'assurer de pouvoir déjà faire fonctionner une des conditions
    Donc j'ai bien ceci qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #coding:utf-8
     
    a = int(input('choisissez une année :'))
    print ("année", a)
     
    b = a%4
    if b==0:
    	print ("l'année est bissextile")
    else: 
    	print ("l'année n'est pas bissextile")
    j'ai voulu essayé de faire plus propre mais j'ai une erreur au code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #coding:utf-8
     
    a = int(input('choisissez une année :'))
    print ("année", a)
     
    if a%4=0:
    	print ("l'année est bissextile")
    else: 
    	print ("l'année n'est pas bissextile")
    Voila toujours bien sur avec la faute de la condition de l'année bissextile, mais j'aimerai déjà que ça fonctionne sur a%4=0 pour me lancer dans des or a%400=0 ..

    Merci à vous !

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Citation Envoyé par SarahConnor11 Voir le message
    Voila toujours bien sur avec la faute de la condition de l'année bissextile, mais j'aimerai déjà que ça fonctionne sur a%4=0 pour me lancer dans des or a%400=0 ..
    Certes mais assignation et égalité, c'est pas la même chose. Ouvrez un tuto. vous apprendrez bien plus vite et des tas d'autres trucs utiles que juste la solution à vous soucis de syntaxe.
    En plus, vous pourrez le relire un peu plus tard et y apprendre encore des choses que vous n'aviez pas encore compris au premier coup.

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

  6. #6
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Parce que vous êtes allez un peu vite sur les tutos ...

    = signifie assignation, affection de la valeur, ect alors que == est une opération booléenne, exemple: a%4==0 = 1 (ou True en Python) si le reste de la division euclidienne de a par 4 vaut 0, sinon l'expression a%4==0 vaut 0 (False)

    if a%4=0 traduit en phrase pourrais être : si je met la valeur 0 dans la variable a modulo 4, ça n'as pas beaucoup de sens

    Pour la vrai définition d'une année bissextile il suffit de traduire cette phrase en python : si mon année est divisible par quatre ET qu'elle est soit non divisible par 100 soit divisible par 400 alors elle est bissextile.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2018
    Messages : 3
    Par défaut
    Ah oui je n'avais rien assigné du tout en fait..

    C'est vrai que je suis venue par avance sur le forum avec ma question déjà en tête, je vais peaufiner tout ça de mon côté et regarder ce site plus en détails !

    Merci pour les infos j'ai résolu mon soucis !

Discussions similaires

  1. Problème : Erreur syntaxe
    Par maxoumax dans le forum VBA Access
    Réponses: 4
    Dernier message: 22/05/2015, 16h04
  2. Problème de syntaxe sur un TRIGGER (erreur 1064)
    Par Tchupacabra dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 08/04/2009, 14h47
  3. Réponses: 2
    Dernier message: 30/04/2008, 15h14
  4. [MySQL] problème : Erreur de syntaxe près de '' à la ligne 1
    Par Amandine62 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/02/2007, 19h28

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