[Debutant] Erreurs de syntaxe dans une fonction
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 :(
Code:
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 |
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)
Merci