我在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教程书中接受了这个挑战,他们没有答案,而且我可以告诉我已经完成了他们提出的语法中的所有内容。
答案 0 :(得分:25)
for i in count:
表示for i in 7:
,这不起作用。 in
之后的位应该是可迭代类型,而不是数字。试试这个:
for i in range(count):
答案 1 :(得分:3)
使用
范围(计数)
int和float不可迭代