Bonjour à tous
Je débute sur python, et je dois faire un script de codage/décodage sur le code Cesar.
à la compilation ; Geany me détecte une erreur de syntaxe sur la ligne "return" des 2 dernières fonctions (ligne 26 , puis 30 ) , alors que les 2 premières marchent correctement. J'ai cherché mais je sèche, alors que je suis sur que c'est 3 fois rien
Je suis aussi preneur de tout conseil pour améliorer le code (notamment la condition de sortie du script que je trouve peu élégante, mais je me suis pas encore penché la dessus)
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
35
36
37
38
39
40
41
42
43
44 def decale (car,clef ): # Decale chaque caractère de la valeur de la clef cod0 = ord(car) # Traduction du caractère en ASCII # Traitement des lettres minuscules if (cod0 >= 97 and cod0 <= 122 ) : cod1 = ((cod0-97)+clef)%26 + 97 # Traitement des lettres majuscules elif (cod0 >= 65 and cod0 <= 90 ) : cod1 = ((cod0-65)+clef)%26 + 65 else : cod1 = cod0 # Traitement des symboles autres que des lettres : pas de changement carCode = chr(cod1) # Récupération du caractère codé return carCode def code_decode ( mess, clef ) : # Encode ou décode le message entier connaissant la clé messclair ="" for i in range (0,len(mess)) : messclair = messclair + decale (mess[i],clef) return messclair def Initialisation_Clef (): clef = -1 while not (clef >=0 and clef <= 26 ) : clef = int (input ("Entrer la clé de cryptage (enre 1 et 26) ou 0 si elle est inconnue \n") return clef def Initialisation_Tache (): tache = int (input ("Taper 1 pour coder un message et 2 pour décoder \n") return tache continuer = True while continuer : mess = input ("Entrer le message \n") a= decode ( mess ,3) print (a) arret = input ("Appuyer sur x pour arreter \n") if (arret == "x" ) : continuer = False
Merci
Partager