Ошибка типа: объект 'float' не повторяется - PullRequest
19 голосов
/ 14 ноября 2011

Я использую python 3.2.2 в Windows 7 и пытаюсь создать программу, которая принимает 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

Если я заменяю float в строке 3 на int, я получаю ту же проблему, кромеон говорит, что объект 'int' не повторяется.Я также попытался изменить значение count с 7 до 7.0

Теперь я взял этот вызов из учебника по питону, и у них нет ответа, и из того, что я могу сказать, я сделал все в пределахсинтаксис, который они выдвинули.

Учебное пособие здесь (PDF)

Ответы [ 2 ]

26 голосов
/ 14 ноября 2011

for i in count: означает for i in 7:, что не сработает. Бит после in должен быть итеративного типа, а не числа. Попробуйте это:

for i in range(count):
3 голосов
/ 14 ноября 2011

использование

Диапазон (количество)

int и float не повторяются

...