2024-04-19 21:47:46 发布
网友
inp = int(input("Enter a number:")) for i in inp: n = n + i; print (n)
。。。引发错误:'int' object is not iterable
'int' object is not iterable
我想把每一个数字加起来算出总数,例如110。1+1+0=2。我该怎么做?
谢谢
尝试:
for i in str(inp):
它将遍历字符串表示中的字符。一旦你有了每个字符,你就可以像单独的数字一样使用它。
首先,取消对int的调用-您正在将字符串转换为整数,这不是您想要的(您希望将每个字符视为其自己的数字)。更改:
int
inp = int(input("Enter a number:"))
致:
inp = input("Enter a number:")
既然inp是一个数字串,那么您可以逐个数字地循环它。
inp
接下来,为n分配一些初始值——正如您现在的代码所示,您将得到一个NameError,因为您从未初始化它。可能您希望在n = 0循环之前for。
n
NameError
n = 0
for
接下来,再次考虑字符和整数之间的差异。你现在有:
n = n + i;
除了不必要的分号(Python是一种基于缩进的语法)外,它还试图将字符i和整数n相加——这是行不通的!因此,这个变成
n = n + int(i)
将字符'7'转换为整数7,依此类推。
'7'
7
也许你想
for i in range(inp)
我刚刚犯了这个错误,因为我没有使用range()
尝试:
它将遍历字符串表示中的字符。一旦你有了每个字符,你就可以像单独的数字一样使用它。
首先,取消对
int
的调用-您正在将字符串转换为整数,这不是您想要的(您希望将每个字符视为其自己的数字)。更改:致:
既然
inp
是一个数字串,那么您可以逐个数字地循环它。接下来,为
n
分配一些初始值——正如您现在的代码所示,您将得到一个NameError
,因为您从未初始化它。可能您希望在n = 0
循环之前for
。接下来,再次考虑字符和整数之间的差异。你现在有:
除了不必要的分号(Python是一种基于缩进的语法)外,它还试图将字符i和整数n相加——这是行不通的!因此,这个变成
将字符
'7'
转换为整数7
,依此类推。也许你想
我刚刚犯了这个错误,因为我没有使用range()
相关问题 更多 >
编程相关推荐