In primo luogo, perdere quella chiamata assurdo int
-, che si sta prendendo più da ciò che si vuole, così, che cosa mai posseduto a mettere in ?! Cambia:
inp = int(input("Enter a number:"))
alla semplice
inp = input("Enter a number:")
in modo che inp
è una stringa di cifre e si può anzi ciclo su di esso, cifra per cifra.
Successivamente, assegnare un valore iniziale a n
- mentre il codice si trova in questo momento, si otterrà un NameError
poiché non lo si inizializza mai. Presumibilmente si desidera n = 0
prima del ciclo for
.
Quindi, considerare nuovamente la differenza tra un carattere e un intero. Ora avete:
n = n + i;
che, oltre al tutto assurdo (ma innocui) e virgola, sta cercando di sommare il carattere I del intero n - che non funziona!Quindi, questo diventa
n = n + int(i)
per trasformare carattere '7'
in integer 7
, e così via.
fonte
2009-12-21 05:01:38
Se avete deciso di mettere insieme le cifre allora sarebbe 110 Non sono sicuro da dove venisse. –
@Trent: http://en.wikipedia.org/wiki/Unary_numeral_system – configurator
http://stackoverflow.com/questions/14939953/sum-the-digits-of-a-number-python – user345352353