Cifre di un numero

Estrarre le cifre di un numero e raccoglierle in una lista

Soluzione 1

Se il numero è minore di 100 le cifre sono al più 2

numero = 28
lista  = [0,0]         # Risposta "temporanea"
 
lista[0] = numero//10  # 2, decine
lista[1] = numero%10   # 8, unità
                       # [2, 8]

Soluzione 2

Se il numero è minore di 1000 le cifre sono al più 3

numero = 287
lista  = [0,0,0]            # Risposta "temporanea"

lista[0] = numero//100      # 2, centinaia
lista[1] = (numero//10)%10  # 8, decine
lista[2] = numero%10        # 7, unità
                            # [2, 8, 7]

Soluzione 3

Se il numero è grande a piacere è necessario estrarre le cifre una alla volta, da destra verso sinistra

numero = 18732

lista = []
n = numero
while(n != 0): 
    q = n//10
    r = n%10
    lista.append(resto)
    n = quoziente
lista.reverse()
+-------+------+---+-----------+
|   n   |   q  | r |   lista   |
+-------+------+---+-----------+
| 18732 | 1873 | 2 | 2         |
|  1873 |  187 | 3 | 2 3       |
|   187 |   18 | 7 | 2 3 7     |
|    18 |    1 | 8 | 2 3 7 8   |
|     1 |    0 | 1 | 2 3 7 8 1 |
|     0 |      |   |           |
+-------+------+---+-----------+

Esercizi

  • L’elenco delle cifre in ordine crescente
  • La somma delle cifre
  • Il prodotto delle cifre
  • La cifra più grande
  • Il numero è palindromo?