Problema con cicli for

di
Anonimizzato27693
il
2 risposte

Problema con cicli for

Sono super novizio con python e stavo cercando di scrivere un programma per effettuare la criptografia di cesare con 7 lettere, credo che il problema si trovi nei for ma non riesco a risolverlo, grazie in anticipo

Errore:
line 14, in <module>
cod[j]=v[f]
IndexError: list assignment index out of range

Codice:
v=['a','b','c','d','e','f','g']
dacod=[]
cod=[]
dacod=input("Parola: ")
k=int(input("Chiave: "))
p=len(dacod)

for j in range (0,p):
	for i in range (0,6):

		if (dacod[j]==v[i]):
			print ("lettera: ", dacod[j], "posizione ", i)
			f=(i+k)%7
			cod[j]=v[f]
			print("codifica ",cod[j])
			break

		if (i>6):
			i=0

2 Risposte

  • Re: Problema con cicli for

    Il problema è che
    cod[j]
    non esiste. L'istruzione
    cod[j]=...
    non aggiunge un elemento in fondo alla lista, e genera una eccezione.
    Possibile soluzione:
    cod.append(v[f])
  • Re: Problema con cicli for

    Grazie, problema risolto!
Devi accedere o registrarti per scrivere nel forum
2 risposte