En primer lugar, pierda esa llamada absurda a int
- que le está llevando más lejos de lo que quiere, así que, ¿qué le poseyó para ponerlo? Cambio:
inp = int(input("Enter a number:"))
a la más simple
inp = input("Enter a number:")
modo que inp
es una cadena de dígitos y que de hecho puede bucle sobre ella, dígito a dígito.
A continuación, asigne un valor inicial a n
-, como su código es el correcto, obtendrá un NameError
ya que nunca lo inicializa. Es de suponer que desea n = 0
antes del bucle for
.
A continuación, tenga en cuenta la diferencia entre un carácter y un número entero de nuevo. Ahora tiene:
n = n + i;
que, además del punto y coma completamente absurda (pero inocua), está tratando de resumir el carácter i al número entero n - que no funciona!Por lo tanto, se convierte en este
n = n + int(i)
a su vez el carácter '7'
en número entero 7
, y así sucesivamente.
Si usted está poniendo los dígitos juntos, entonces sería 110 . No estoy seguro de dónde salió el 11. –
@Trent: http://en.wikipedia.org/wiki/Unary_numeral_system – configurator
http://stackoverflow.com/questions/14939953/sum-the-digits-of-a-number-python – user345352353