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 :

Déterminer si une année est bissextile - TypeError sur l'entrée [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 130
    Par défaut Déterminer si une année est bissextile - TypeError sur l'entrée
    Bonjour
    Petite séquence d'un début de programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import sys
    année = 0
    année = input("saisissez une année :")
    type (année)
    print("année=",année)
    if ((année % 4) != 0):
        print("année:",année, "n est pas bissextile")
        sys.exit()
    Je ne comprends pas pourquoi j'ai un problème d'arguments sur l'instruction testant le modulo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    saisissez une année :2009
    année= 2009
    Traceback (most recent call last):
      File "C:/Users/MJFG/PycharmProjects/Python/prog-1 bissextile.py", line 8, in <module>
        if (année % 4 != 0):
    TypeError: not all arguments converted during string formatting
    En vous remerciant

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 910
    Par défaut
    Salut,

    La variable année est de type string, il te faut donc la convertir en nombre :
    année = int(input("saisissez une année :"))...

    PS : Je pense qu'il vaudrait mieux éviter les accents dans les noms de variable...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 130
    Par défaut
    Citation Envoyé par Beginner. Voir le message
    Salut,

    La variable année est de type string, il te faut donc la convertir en nombre :
    année = int(input("saisissez une année :"))...

    PS : Je pense qu'il vaudrait mieux éviter les accents dans les noms de variable...
    Je vous remercie

    C'est la première question que je pose débutant mon apprentissage mais je pronostique qu'elle est l'avant garde d'une longue série !!!!!!!!!

  4. #4
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 513
    Par défaut
    Bonjour,
    Citation Envoyé par tom31 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ((année % 4) != 0):
        print("année:",année, "n est pas bissextile")
    Attention, les années multiples de 4 ne sont pas toutes bissextiles.
    Les années qui sont bissextiles sont :
    • les années multiples de 4 sans être multiples de 100 et
    • les années multiples de 400.

    Par exemple :
    • l'année 2000 est bissextile, car c'est un multiple de 400 ;
    • l'année 2004 est bissextile, car c'est un multiple de 4 sans être un multiple de 100 ;
    • l'année 2100 n'est pas bissextile, car c'est un multiple de 100 sans être un multiple de 400.

    À part ça, en Python, la manière idiomatique de vérifier si une année est bissextile est d'appeler calendar.isleap. Mais peut-être que l'exercice veut que tu ne passes pas par cette fonction.

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

Discussions similaires

  1. [Python 3.X] problème de débutant avec premier scripts - python 3.4.2 - IDLE, Notepad ++
    Par James Ogram dans le forum Général Python
    Réponses: 7
    Dernier message: 23/01/2015, 00h09
  2. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  3. [C#][service windows] problème de débutant avec 1 timer
    Par Nycos62 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/10/2005, 11h22
  4. Réponses: 3
    Dernier message: 24/09/2005, 09h34
  5. [DB2] problèmes de débutant
    Par rémi_tounul dans le forum DB2
    Réponses: 4
    Dernier message: 21/04/2005, 17h08

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