Forum >> Principianti >> aiuto con esercizio

Pagina: 1

Ciao a tutti,

avrei problemi con un esercizio che mi chiede di togliere da una parola le lettere il cui indice sia divisibile per 3.

Io ho fatto così:

a=input()
for i in range(len(a)):
if i%3==0:
b=a.replace(a ,'')
print(b)

Solo che non so per quale motivo toglie solo l'ultima lettera della parola divisibile per 3, lasciando lì tutte le precedenti.

Qualcuno potrebbe dirmi dove sto sbagliando?
Grazie mille



--- Ultima modifica di Federicofkt in data 2018-09-10 12:50:51 ---


--- Ultima modifica di Federicofkt in data 2018-09-10 12:51:14 ---
Ciao caro, metti sempre il codice con il tasto opportuno, altrimenti si perde la formattazione.

Ci sono diverse cose che non vanno nel tuo codice, ma parlo di logica prima di tutto:
1. La sostituzione non ha senso fatta in quella maniera. Dovresti usato lo slicing per farlo del tipo b=a.replace(a[ i ],'') o qualcosa del genere. Come fai tu sostituisci tutta la parola inserita;
2. Una volta fatta la sostituzione, ritorni sempre alla prima parola e togli poi la lettera successiva. Ma così non ottieni quello che vuoi, ed ecco perché ti sembra che non faccia la sostituzione;
3. Quella espressione considera anche lo 0, non so se è quello che cerchi, di certo non quello che hai scritto come obbiettivo.

Prova a sistemare un po' il codice e rivediamoci qui. ;)

Cya



Pagina: 1



Esegui il login per scrivere una risposta.