1. ホーム
  2. python

[解決済み】TypeError: 'float'オブジェクトは反復可能ではない

2022-01-31 10:32:04

質問

私は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行目の float を int に置き換えても、'int' オブジェクトが反復可能でないと言われる以外は同じ問題が発生します。また、countの値を7から7.0に変更することも試してみました。

私はこの課題をpythonのチュートリアルブックから取りましたが、彼らは答えを持っていませんし、私の知る限り、私は彼らが提示した構文の中ですべてをやりました。

チュートリアルはこちら(PDF)

解決するには?

for i in count: というのは for i in 7: というのは、うまくいきません。の後のビットは in は数値ではなく、反復可能な型である必要があります。これを試してみてください。

for i in range(count):