Forum >> Principianti >> Problema con variabili

Pagina: 1

Ciao a tutti
ho iniziato da qualche settimana a "studiare" python.

Qualche giorno fa, per allenarmi, ho provato a fare un programma che stampa a video ogni lettera di una parola presa da input, e poi per ogni lettera dà il suo codice unicode. Fin qui nessun problema. Dopodichè ho voluto provare a fare in modo che prima della fine dell'esecuzione il programma stampasse a video la somma di tutti i valori unicode dei caratteri, ma senza successo.

Questo è il codice che ho scritto:





parola=input("inserire una parola")

passo=1

i=0

somma=0

while i<len(parola):

if i%passo==0:

print('lettera',i,parola,'codice=====>',ord(parola))

i=i+1

somma=(somma+ord(parola))

print(somma)




Questo è l'errore che ottengo:



"Traceback (most recent call last):

File "C:\Users\Mirko\Desktop\mirko\Python\Dal 30 aprile\programma_parola.py", line 9, in <module>

somma=(somma+ord(parola))

IndexError: string index out of range"





Qualcuno può aiutarmi? :question:

P.S. Non ho nessuna esperienza precedente a python in quanto a programmazione.




--- Ultima modifica di scholes in data 2016-05-02 22:47:00 ---
IndexError: string index out of range"
Ciao Caro, non ho provato il tuo codice, ma ad occhio e croce c'è anche altro che non va. Ma facciamo finta di nulla e vediamo l'errore che riporti: stai cercando di accedere ad un indice della stringa che non è presente.

Facciamo un esempio:
>>> stringa = "Python"
>>> len(stringa)
6
>>> print(stringa[ 6 ]) #gli spazi intorno al numero sono solo per esigenze di lettura
[..]
IndexError: string index out of range
>>> print(stringa[ 5 ]) #gli spazi intorno al numero sono solo per esigenze di lettura
n
Perché avviene questo? Semplicemente perché il primo carattere di una stringa è l'elemento 0, non 1. Quindi se provi ad accedere all'ultimo carattere della stringa, questo avrà l'indice 5 e non 6 come la lunghezza della stringa ti farebbe pensare.

NOTA: Ricorda inoltre che le operazioni di slicing le puoi applicare anche ad una stringa.

Cya


Pagina: 1



Esegui il login per scrivere una risposta.