当前位置: 首页 > 面试题库 >

int对象不是可迭代的吗?

费朗
2023-03-14
问题内容
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。我该怎么做?

谢谢


问题答案:

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

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

至:

inp = input("Enter a number:")

现在这inp是一个数字字符串,您可以逐个数字地对其进行循环。

接下来,将一些初始值分配给n-就像您现在的代码一样,NameError由于您从未初始化它,因此将获得一个。大概您想n = 0for循环之前。

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

n = n + i;

除了不必要的分号(Python是基于缩进的语法)之外,它还试图将 字符 i加到 整数 n上-这是行不通的!所以, 变成

n = n + int(i)

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



 类似资料:
  • 问题内容: 我正在尝试运行一个for循环。这是我遇到问题的代码部分: 因此,我的目的是遍历aldurstengd_ororka,对于字典中的每个“年龄”元组,我为元组中的每个“项目”运行另一个for循环。我得到的错误是 TypeError:“ int”对象不可迭代 问题答案: 如果是字典,则此表达式: 是一个错误。也许您的意思是: 编辑:您看到的错误是非常有趣的,我确实使用此代码段重现了它: 代码

  • 问题内容: 我的问题与python中的sum函数有关。 所以我的代码是 我读到一个错误: 有人可以解释为什么会发生这种情况以及如何解决吗? 问题答案: 查看文档: sum(iterable [,开始]) 总和从左到右依次迭代一个项目,并返回总计。start默认为。可迭代项通常是数字,并且起始值不允许为字符串。 因此,您必须传递一个可迭代的参数,而不是整数! 应该可以正常工作。 此功能旨在在列表中存

  • 问题内容: 我正在尝试编写一个程序,该程序允许您输入班级中的学生人数,然后为每个学生输入3个测试成绩以计算平均值。我是编程新手,但会不断收到错误消息,我不了解它的含义或解决方法。这是我到目前为止所拥有的: 问题答案: 当你写 您的意图是“运行这段代码时间,我刚才输入的值在哪里”。但是在Python,你传递给事情一个声明需求是某种迭代对象的。在这种情况下,您想要的只是一个statement。这将生成

  • 问题内容: 我正在尝试迭代由numpy.linspace生成的值的数组: 这段代码在我的办公室计算机上工作正常,但是今天早上我坐下来在另一台机器上在家工作,出现了此错误: 只是一个浮点数数组,脚本在打印内容时没有问题-只是显然对它们进行了迭代。关于导致它损坏的原因的任何建议以及可能的解决方法? 问题答案: 给您一维NumPy数组。例如: 因此: 无法工作。您将需要某种二维数组,在第二维中具有两个元

  • 问题内容: 我正在尝试从Wikipedia主页提取所有链接,但是此代码显示TypeError:“ WebElement”对象不是可迭代的错误。 问题答案: 问题是您正在使用哪个仅返回一个WebElement(不可迭代),即返回一个WebElement列表。 解决方案:替换为 参考:Selenium-Python文档

  • mapMap.map(i => i * 30); const mapReduce = Immutable.Map({ a: 10, b: 20, c: 30 });