Help, code érronné

Résolu
bert de la speed Messages postés 883 Statut Membre -  
Felice_ Messages postés 271 Statut Membre -
Bonsoir;
ça fait maintenant quelques heures (ptètre parce que je suis débutant) que j'essai de trouver une erreur se trouvant dans mon programme de cryptage mais jusque lors j'ai toujours pas réussi donc je vous en fait part:

Coded[i]=ord(text[i])+b
builtins.IndexError: list assignment index out of range

voici le code en question :
i=0
j=0
Coded=[]
text=[]
text=(input("your text \n"))
key=[]
key=(input("key \n"))
while(i<len(text)):
    if key[j]==len(key):
        j=0
    b=ord(key[j])-ord('a')
    #print("B value:",b)
    if (ord(text[i])+b)<=ord('z'):
        Coded[i]=ord(text[i])+b
    else:
        Coded=ord(text[i])+b-26

    i+=1
    j+=1
print (chr(Coded))



merci d'avance pour votre aide

Il n'existe que des solutions ... Faut juste trouver les problèmes qui vont avec
A voir également:

1 réponse

Felice_ Messages postés 271 Statut Membre 11
 
Peut tu peux, s'il te plait, mettre ton code dans la balise code avec le type python, que nous puissions comprendre le code.

Sinon de base je voix pas pourquoi redéfinir les variables text et key.
1
bert de la speed Messages postés 883 Statut Membre 110
 
j'ai du tenter des trucs vue que ca marche pas
0
Felice_ Messages postés 271 Statut Membre 11
 
Remplace :
Coded[i]=ord(text[i])+b


Par :
Coded.append(ord(text[i]) + b)


;-)
0
bert de la speed Messages postés 883 Statut Membre 110
 
Merci pour la correction, il faut effectivement faire un append cependant j'ai encore un soucis. la partie ou j'ecris
if key[j] == len(key)

je veux en fait comparer key[j] a la fin de la chaine de charactere en l'occurrence
key[j]=='\0' en C
je sais pas comment faire ca
0
Felice_ Messages postés 271 Statut Membre 11
 
Il n'y a pas de « \0 » en python.

Si ton mot est « Oui » alors le nombre de caractères et 3 et non 4 comme en « C ».

Il te faut d'adapter, chaque langage est différent ;-)
0