Erstens verlieren, dass absurd Aufruf int
- die Sie weiter aus nimmt, was Sie wollen, so, was Sie jemals besessen es in setzen ?! Wechsel:
inp = int(input("Enter a number:"))
der einfacheren
inp = input("Enter a number:")
so dass inp
eine Ziffernfolge ist, und Sie können in der Tat eine Schleife über sie, Ziffer für Ziffer.
Ordnen Sie als nächstes einen Anfangswert zu n
- wie Sie Code steht jetzt, erhalten Sie eine NameError
, da Sie es nie initialisieren. Vermutlich wollen Sie n = 0
vor der for
Schleife.
Betrachten Sie als nächstes den Unterschied zwischen einem Zeichen und einer Ganzzahl. Sie haben jetzt:
n = n + i;
, die neben dem völlig absurd (aber harmlos) Semikolon, versuchen, den Charakter i zum integer n zu summieren - die nicht funktionieren!So Diese wird
n = n + int(i)
Charakter drehen '7'
in ganzzahlige 7
, und so weiter.
wurde unter Verwendung Wenn Sie die Ziffern setzen sind zusammen, dann wäre es 110 sein Ich bin mir nicht sicher, wo die 11 herkommt. –
@Trent: http://en.wikipedia.org/wiki/Unary_numeral_system – configurator
http://stackoverflow.com/questions/14939953/sum-the-digits-of-a-number-python – user345352353