【问题标题】:TypeError int object is not iterable (beginner)TypeError int 对象不可迭代(初学者)
【发布时间】:2013-10-14 00:16:43
【问题描述】:

我的 python 代码有一些 typeError 问题。我得到 int object is not iterable,我不知道为什么。我是个初学者。

# coding=utf8
def main():
numbers = input ("Enter numbers: ")
numbers = int(numbers)
list(numbers)

print ("\nNumbers (lowest): %s " % min(numbers))
print ("Numbers (all numbers) %s " % numbers)
print ("Numbers (highest): %s " % max(numbers))

print ("Numbers (mean value) %s " % sum // len(numbers))   
print ("Numbers (summary) %s " % sum(numbers))


main()

【问题讨论】:

  • 您希望int(numbers) 做什么?你在Enter numbers: 之后输入什么?
  • 鉴于numbers 目前是int,您希望list(numbers) 做什么?
  • 让我插话并建议您为每一行代码添加一行注释,或者像您期望编写一个食谱一样用伪代码编写过程;这会有很大帮助。我的猜测是,关于每个函数调用中的输入和输出数据类型是什么,这里有一种朦胧的感觉,但没有很明确的想法。

标签: python syntax int typeerror


【解决方案1】:

当您使用 input() 时,它会返回一个 int:

那么当您执行 list(numbers) 时,您正试图从 int 中创建一个列表,这就是您收到错误的原因

从号码做一个列表

number = [number]

然后 number 是一个列表,您可以在 etc 上调用len()

如果您输入这样的数字,例如:

1 4 2 5 3 5

那就做吧

num_list = numbers.split()

然后num_list 将等于[1,4,2,5,3,5]

【讨论】:

  • 正如我上面所说,输入当然不会返回一个 int——一个数字类型——而是一个文本,一个字符串,它是一个字符链(其中一些可能或可能不是数字)
  • 使用 split() 然后遍历列表并 int 每个项目,如果出现错误则删除该项目
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-11
  • 1970-01-01
  • 2023-01-22
  • 2018-09-29
  • 2020-02-26
相关资源
最近更新 更多