Forum
>>
Principianti
>>
Problema con variabili
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da scholes |
2016-05-02 22:37:22 - Problema con variabili
|
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? 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 --- |
|
Scritto da Daniele aka Palmux |
2016-05-09 14:36:44 - Re: Problema con variabili
|
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.