2013-10-14 380 views
0

我有我的Python代码一些类型错误的问题。我得到int对象是不可迭代的,我不知道为什么。我非常适合初学者。类型错误int对象不是可迭代(初级)

# 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() 
+1

你有什么期望'INT(数字) '做什么?输入数字后输入什么内容? – Blender

+0

鉴于'numbers'目前是'int',你期望'list(numbers)'做什么? –

+0

让我附和,并建议你把评论的一行像每一行代码,或写在伪代码的过程就像你所期望的要写入的配方;这会有很大的帮助。我的猜测是这里有一种朦胧的感觉,但是在这里没有非常明确的想法,关于什么是输入以及每个函数调用中的输出数据类型是什么。 – flow

回答

1

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

然后你做list(numbers)你试图做一个清单,从一个int这就是为什么你所得到的错误

做一个列表从数量做

number = [number] 

那么号码是您可以调用等len()列表

如果你输入数字像这样的例子:

1 4 2 5 3 5 

然后就去做

num_list = numbers.split() 

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

+0

以及正如我上面所说,输入肯定不会返回int - 数值型 - 而是一个文本,一个字符串,它是字符(其中一些可以是或可以不是个数字) – flow

+0

使用'的链split()'然后迭代整个列表并且遍历每个项目,如果出现错误,则删除该项目 – Serial

相关问题