Help, code érronné

Résolu/Fermé
bert de la speed Messages postés 762 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 12 août 2022 - Modifié le 12 mai 2017 à 15:59
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 - 12 mai 2017 à 19:01
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 mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
12 mai 2017 à 15:44
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 jeudi 31 juillet 2008 Statut Membre Dernière intervention 12 août 2022 110
12 mai 2017 à 16:00
j'ai du tenter des trucs vue que ca marche pas
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
12 mai 2017 à 16:50
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 jeudi 31 juillet 2008 Statut Membre Dernière intervention 12 août 2022 110
12 mai 2017 à 18:05
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 mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
Modifié le 12 mai 2017 à 19:05
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