TypeError:'float'对象不可迭代

ham*_*474 22 python floating-point for-loop 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)
Run Code Online (Sandbox Code Playgroud)

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

TypeError: 'float' object is not iterable
Run Code Online (Sandbox Code Playgroud)

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

现在我从python教程书中接受了这个挑战,他们没有答案,从我所知道的,我已经完成了他们提出的语法中的所有内容.

教程在这里(PDF)

Tho*_*s K 27

for i in count:意味着for i in 7:,这是行不通的.该位后,in应该是一个迭代式,不是数字的.试试这个:

for i in range(count):
Run Code Online (Sandbox Code Playgroud)

  • 然后我们得到: TypeError: 'float' object不能被解释为整数 (7认同)