【问题标题】:Why am I getting Typeerror: 'int' object not iterable为什么我收到 Typeerror: 'int' object not iterable
【发布时间】:2015-02-05 22:04:16
【问题描述】:

我正在编写一个简短的程序来获取十个数字并将它们重新打印为列表,但将低于一定数量的数字替换为零。首先,“输入”不起作用并提示我给出数字。其次,我在主函数中的第二个“for”循环中得到“TypeError: 'int' object not iterable”。有什么想法吗?

amx = []

def validamount(amount, limit):
    if amount >= limit:
        return amount
    else:
        return 0

def main():
    for i in 10:
        amx.append(int(input()))
    for i in 10:
        print(validamount(amx[i], 5))

main()

【问题讨论】:

  • for i in 用于循环遍历集合的元素,例如列表或字典。 10 不是集合,你在循环什么?
  • 号码10 不是一个列表,它只是一个数字。你不能迭代它。我猜你想要range(10)
  • 好的 - 范围(10)。现在它完美地工作了。好几个月没写代码了,愚蠢的错误。

标签: python python-3.x


【解决方案1】:

你不能迭代一个数字,试试:

for i in range(10):

参考: https://docs.python.org/2/library/functions.html#range

【讨论】:

    【解决方案2】:

    for i in 10: 是您的错误来源;它应该是for i in range(10):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      • 2019-04-12
      相关资源
      最近更新 更多