web-dev-qa-db-fra.com

TypeError: objet 'float' non itérable

J'utilise python 3.2.2 sur Windows 7 et j'essaie de créer un programme qui accepte 7 chiffres et indique ensuite à l'utilisateur combien sont positifs, combien sont négatifs et combien sont nulles. Voici ce que j'ai obtenu jusqu'à présent:

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)

Mais quand je lance le code, je reçois

TypeError: 'float' object is not iterable

Si je remplace float à la ligne 3 par int, j'obtiens le même problème sauf qu'il dit que l'objet 'int' n'est pas itérable. J'ai également essayé de changer la valeur du nombre de 7 à 7,0

Maintenant, j'ai relevé ce défi à partir d'un livre de tutoriel python et ils n'ont pas la réponse, et d'après ce que je peux dire, j'ai tout fait dans la syntaxe qu'ils proposent.

Le tutoriel est ici (PDF)

20
hamsolo474

for i in count: veux dire for i in 7:, qui ne fonctionnera pas. Le bit après le in doit être de type itérable, pas un nombre. Essaye ça:

for i in range(count):
27
Thomas K

utilisation

plage (nombre)

int et float ne sont pas itérables

3
Mohammad Efazati