Help, code érronné

Résolu
bert de la speed Messages postés 762 Date d'inscription   Statut Membre Dernière intervention   -  
Felice_ Messages postés 265 Date d'inscription   Statut Membre Dernière intervention   -
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 265 Date d'inscription   Statut Membre Dernière intervention   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 762 Date d'inscription   Statut Membre Dernière intervention   110
 
j'ai du tenter des trucs vue que ca marche pas
0
Felice_ Messages postés 265 Date d'inscription   Statut Membre Dernière intervention   11
 
Remplace :
Coded[i]=ord(text[i])+b


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


;-)
0
bert de la speed Messages postés 762 Date d'inscription   Statut Membre Dernière intervention   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 265 Date d'inscription   Statut Membre Dernière intervention   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