Bonjour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from random import shuffle
# generateur de phrases
# demander en console une chaine de forme "mot1/mot2/mot3/mot4/..."
# transformer cette chaine en liste
# la mélanger
# si le nombre d'élèments de cette liste est inférieur à 10
# -> afficher les 2 premiers mots
# si le nombre est supérieur ou égal à 10
#-> afficher les 3 derniers mots
 
#demander chaine de mot "1/2/3"
liste=input("chaine de mot sous la forme mot1/ mot2/ mot3/ ..").split("/")
print(liste)
#melanger
shuffle(liste)
print(liste)
#recuperer le nombre
liste_len=len(liste)
print(liste_len)
#afficher les 2 premiers mots
if liste_len<5:
   print(liste[0], liste[1])
# afficher les 2 derniers mots   
else:
    last_value= liste[liste_len]-1
    pre_last= last_value - 2
    print(last_value)
    print(liste[pre_last:last_value])
mon problème vient de la condition else il ne reconnait pas last_value
message erreur suivant: sur python
Traceback (most recent call last):
File "C:/Users/le boss/Desktop/cours_python_graven/exercice_graven_liste.py", line 25, in <module>
last_value= liste[liste_len]-1
IndexError: list index out of range

Mon souhait est de comprendre pourquoi? Mon but était que last_value prennent le dernier mot de la liste, pre_last l'avant dernier
afin d'afficher les 2 dernier mots de la liste si la liste inscrite est supérieur à 5

merci d'avance le débutant