Ottenere caratteri da numeri in Python
Consideriamo il caso in cui vogliamo sommare tutte le cifre di un numero. Se tentiamo di accedervi tramite indice come se fosse una stringa, otterremo un errore:
num = 123
print(num[0] + num[1]) # darà un errore
Per evitare l'errore, è necessario prima convertire il numero in una stringa. Successivamente, il carattere stringa desiderato deve essere convertito nuovamente in un tipo numerico:
txt = '123'
print(txt[0] + txt[1]) # stamperà '12' - somma come stringhe
Come puoi vedere, i caratteri della nostra stringa sono anch'essi
delle stringhe e vengono sommati come tali.
Supponiamo di volerli sommare come numeri. Per
fare ciò, applichiamo la funzione
int a ogni carattere della stringa:
num = 123
txt1 = str(num)[0]
txt2 = str(num)[1]
res = int(txt1) + int(txt2)
print(res) # stamperà 3
Dato il numero:
tst = 123
Calcola la somma delle cifre di questo numero.
Dato il numero:
tst = 4567
Somma le prime due cifre. Poi sottrai
dal risultato ottenuto l'ultima
cifra del numero 4567.