Bonjour
j'apprend à programmer en python et j'ai une difficulté.

l'exercice consiste à coder un texte, je part de l'alphabet que je décale de 3 rangs, jusqu'ici pas de problème, lorsque je prend le texte à coder je n'arrive pas à obtenir autre chose que la dernière lettre codée.

voici mon script, il n'est vraisemblablement pas terrible mais je voudrai savoir pourquoi il me renvoi un code erreur à la 5ieme ligne en partant de la fin

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
29
30
31
32
33
34
#!/usr/bin/python3.4
# -*-coding: utf-8 -*-
 
# script de codage cesar
 
chaine = ("abcdefghijklmnopqrstuvwxyz")
 
#help (len)
#help (range)
 
for i in range (len(chaine)): # fonctionne
#for i in (chaine): renvoi l'erreur indice de chaine doit etre un entier
 
   if chaine[i] == "a":
      chaine_decallee = chaine [i+3:] + chaine [i] + chaine [i+1] + chaine [i+2]
      # chaine [i+3:] signifie que chaine _decallee commencera à d elimination des 3
      #premier arguments de la chaine initiale, et report en fin de chaine ( chaine[i]+chaine[i+1] etc...)
 
      print (chaine_decallee)
 
messageACoder =("mzntypythons flying circus")
 
 
for j in range (len(messageACoder)):
   print (j)
   u=0
 
   while messageACoder[j] != chaine[u]:
      print ("a coder= ", messageACoder[j])
      code [j]= chaine_decallee[u]    
      u+=1
      if messageACoder[j] == " ":
        break
print("code= ",code)
en vous remerciant
amitiés