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

1 réponse

  1. 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
    1. bert de la speed Messages postés 883 Statut Membre 110
       
      j'ai du tenter des trucs vue que ca marche pas
      0
    2. Felice_ Messages postés 271 Statut Membre 11
       
      Remplace :
      Coded[i]=ord(text[i])+b


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


      ;-)
      0
    3. 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
    4. 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