質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

17462閲覧

TypeError: 'float' object is not iterableのエラーの解決方法を教えてください。

spic

総合スコア2

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/04/28 16:00

編集2021/04/28 17:00

前提・実現したいこと

授業で以下の計算を実装中にエラーメッセージが発生しました。

発生している問題・エラーメッセージ

TypeError Traceback (most recent call last) <ipython-input-71-67a96e479d38> in <module> 5 for k in range(0,10): 6 for m in range(0,2): ----> 7 i=16*sum(a)-4*sum(b) 8 print(i) 9 TypeError: 'float' object is not iterable

該当のソースコード

a=((-1)**k/(2*k+1))*(1/5)**(2*k+1) b=((-1)**m/(2*m+1))*(1/239)**(2*k+1) for k in range(0,10): for m in range(0,2): i=16*sum(a)-4*sum(b) print(i)

試したこと

特になし

補足情報(FW/ツールのバージョンなど)

なぜエラーになったのかわからないので教えていただければと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2021/04/28 16:13 編集

タイトルのエラーメッセージが質問中のエラーと異なりますね。
spic

2021/04/28 17:00

編集しました!タイトルを間違えていてすみませんでした。
guest

回答3

0

~~Jupyterの場合、以前に行った処理が残っていることがあります。

おそらく

sum = 1.0

の言うような処理を行ったのが残っているのでしょう。

これが組み込み関数sumを書き換えてしまったため、このエラーが起きています。

del sum

としてsumを削除すれば思ったように実行できるようになります。~~

エラーを読み間違えていましたので忘れてください。

投稿2021/04/28 16:17

編集2021/04/28 16:19
ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

sum()関数は、以下のようにlistなどのiterableな数値の合計を取る関数です。

Python

1>>> xs = [1,2,3] 2>>> sum(xs) 36

質問にある変数 a, b がfloatの数値のため、以下のようにエラーになっていると思われます。

Python

1>>> a = 1.0 2>>> sum(a) 3Traceback (most recent call last): 4 File "<stdin>", line 1, in <module> 5TypeError: 'float' object is not iterable

投稿2021/04/28 16:16

hide5stm

総合スコア426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

sum は数値要素のリストに対して総和を求める関数です。
直接 float の値に適用することはできません。

>>> sum(1.0) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'float' object is not iterable

投稿2021/04/28 16:14

mather

総合スコア6759

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問