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
en vous remerciant
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)
amitiés
Partager