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 :

[Exercice] Incompréhension listes [Python 3.X]


Sujet :

Python

  1. #1
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut [Exercice] Incompréhension listes
    Bonjour à tous,

    Souhaitant prendre en main le Python, je suis en train de me pencher sur le livre "Apprendre à programmer avec Python 3" de Gérard Swinnen déposé ici sur la rubrique.

    Je suis sur cet exercice :

    .Soient les listes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    t2 = [ ' Janvier ' , ' Février ' , ' Mars ' , ' Avril ' , ' Mai ' , ' Juin ' ,
    ' Juillet ' , ' Août ' , ' Septembre ' , 'Octobre ' , ' Novembre ' , ' Décembre ' ]
    Écrivez un petit programme qui crée une nouvelle liste t3. Celle-ci devra contenir tous les éléments des deux listes en les alternant, de telle manière que chaque nom de mois soit suivi du nombre de jours correspondant :

    [ ' Janvier ' ,31, ' Février ' ,28, ' Mars ' ,31, etc...].

    J'ai d'abord écrit un programme jouant sur les indices d'une nouvelle liste t3.
    Apparemment, en Python, on ne peut pas écrire à l'indice 0 d'une liste initialisée vide.
    J'ai donc transformé mon code avec la méthode append().

    J'obtiens ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    t1 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    t2 = [ ' Janvier ' , ' Février ' , ' Mars ' , ' Avril ' , ' Mai ' , ' Juin ' ,
    ' Juillet ' , ' Août ' , ' Septembre ' , 'Octobre ' , ' Novembre ' , ' Décembre ' ] 
     
    i = 0
     
    t3 = []
     
    for i in range(0,12):
     t3.append(t2[i])
     t3.append(t1[i])
     
    print(t3)
    Mon incompréhension vient de range(0,12).
    Si j'écris range(0,11), je n'ai pas Décembre, 31 dans la liste t3.
    Or les listes t1 et t2 font une len de 12 (index 0 à 11).

    Pouvez-vous m'aider à comprendre ce point ?

    Merci.
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

  2. #2
    Membre actif
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Points : 284
    Points
    284
    Par défaut
    Bonjour,

    essaie de comprendre le résultat de ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for i in range(0,12):
        print(i)
    indice : dessine un tableau avec les douze mois et place sur ce tableau les nombres de 0 à 12.

  3. #3
    Membre émérite

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Points : 2 427
    Points
    2 427
    Par défaut
    Bonjour,

    I got it man !

    Range n'inclut pas le paramètre stop dans sa liste.
    Range(0,12) équivaut aux valeurs [0,12[.

    Merci pour ta réponse Supernul
    Si la réponse vous a été donnée, pensez au Tag .
    Un petit aide à se sentir utile. Merci.

    "La folie. C'est de faire et refaire la même chose en espérant que le résultat sera différent."
    Albert Einstein

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/11/2014, 21h21
  2. Aide exercice Prolog liste
    Par warez29 dans le forum Prolog
    Réponses: 10
    Dernier message: 24/11/2014, 19h54
  3. Exercice sur liste chainée
    Par manou756011 dans le forum C
    Réponses: 1
    Dernier message: 04/05/2014, 21h16
  4. Exercice en listes chaînées?
    Par afterthenext dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 02/06/2009, 23h46

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