int对象不可iterable?

2024-04-19 21:47:46 发布

您现在位置:Python中文网/ 问答频道 /正文

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。我该怎么做?

谢谢


Tags: innumberforinputobjectis错误not
3条回答

尝试:

for i in str(inp):

它将遍历字符串表示中的字符。一旦你有了每个字符,你就可以像单独的数字一样使用它。

首先,取消对int的调用-您正在将字符串转换为整数,这不是您想要的(您希望将每个字符视为其自己的数字)。更改:

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

致:

inp = input("Enter a number:")

既然inp是一个数字串,那么您可以逐个数字地循环它。

接下来,为n分配一些初始值——正如您现在的代码所示,您将得到一个NameError,因为您从未初始化它。可能您希望在n = 0循环之前for

接下来,再次考虑字符和整数之间的差异。你现在有:

n = n + i;

除了不必要的分号(Python是一种基于缩进的语法)外,它还试图将字符i和整数n相加——这是行不通的!因此,这个变成

n = n + int(i)

将字符'7'转换为整数7,依此类推。

也许你想

for i in range(inp)

我刚刚犯了这个错误,因为我没有使用range()

相关问题 更多 >