尝试对一个数字的各个位数求和时出现“int对象不可迭代”的错误?

27

我有这段代码:

inp = int(input("Enter a number:"))

for i in inp:
    n = n + i;
    print (n)

但是它抛出了一个错误:'int' object is not iterable

我想通过将每个数字相加来找到总数,例如110。1 + 1 + 0 = 2。我该怎么做?


如果你把这些数字放在一起,那么应该是110。我不确定11是从哪里来的。 - Sasha Chedygov
3
好的,我可以为你进行翻译。以下是您需要翻译的内容:@Trent: http://en.wikipedia.org/wiki/Unary_numeral_system - configurator
https://dev59.com/WmUp5IYBdhLWcg3w669C - user345352353
相关:什么是迭代器、可迭代对象和迭代?(特别是“可迭代对象”部分)。 - Karl Knechtel
11个回答

-1
你可以尝试将 for i in inp: 改为 for i in range(1,inp): 迭代不能使用单个整数。相反,您需要提供一个范围让它运行。

那怎么解决问题呢?OP想要迭代数字的每个数字,而不是迭代“number”次数... - Tomerikoo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接