TypeError:'float'对象不可迭代

时间:2011-11-14 10:10:56

标签: python for-loop floating-point python-3.x

我在Windows 7上使用python 3.2.2并且我正在尝试创建一个接受7个数字的程序,然后告诉用户有多少是正数,有多少是负数,有多少是零。这是我到目前为止所得到的:

count=7
for i in count:
    num = float(input("Type a number, any number:"))
    if num == 0:
        zero+=1
    elif num > 0:
        positive+=1
    elif num < 0:
        negative+=1

print (positive)
print (negative)
print (zero)

但是当我运行代码时,我得到了

TypeError: 'float' object is not iterable

如果我用第3行替换第3行中的float我会遇到同样的问题,除非它说'int'对象不可迭代。我也尝试将count的值从7更改为7.0

现在我从python教程书中接受了这个挑战,他们没有答案,而且我可以告诉我已经完成了他们提出的语法中的所有内容。

The tutorial is here (PDF)

2 个答案:

答案 0 :(得分:25)

for i in count:表示for i in 7:,这不起作用。 in之后的位应该是可迭代类型,而不是数字。试试这个:

for i in range(count):

答案 1 :(得分:3)

使用

  

范围(计数)

int和float不可迭代