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.