【Python】range()などを使った際に発生するTypeErrorを解決する方法
こんにちは、にわこまです。
今回は、range()などを使った際に発生するTypeErrorの解決方法を紹介します。具体的なTypeErrorの一例を以下に示します。
「TypeError: ‘float’ object cannot be interpreted as an integer」
誤字脱字や分からない点がございましたらご連絡お願いいたします。
メールまたはTwitterのDMまで!
スポンサードサーチ
TypeErrorの解決方法
代入した変数の型を見直す。正しい型の変数を代入する。
代入した変数の型を見直すことでTypeErrorを解決することができます。
そもそも「TypeError」とは、「型がおかしいですよ」ということです。
さらに「型名A object cannot be interpreted as an 型名B」は、「型名Aは型名Bとして解釈することができません。」ということです。
Python TypeErrorの公式ドキュメントはこちら
エラーが発生するサンプルコード(1)
エラーが発生するサンプルコードとその実行結果を以下に示します。
for i in range(0, 9.9, 3):
print(i)
=== 実行結果 ===
Traceback (most recent call last):
File "cannot_be_interpreted1.py", line 1, in <module>
for i in range(0, 9.9, 3):
TypeError: 'float' object cannot be interpreted as an integer
range(start, stop, step)においてstopの値をfloat型にしているためTypeErrorが発生しました。
stopの数値をint型、つまり整数の数値を代入することでTypeErrorを解決することができます。
エラーを解決したサンプルコード(1)
エラーを解決したサンプルコードとその実行結果を以下に示します。
for i in range(0, 9, 3):
print(i)
=== 実行結果 ===
0
3
6
エラーが発生するサンプルコード(2)
エラーが発生するサンプルコードとその実行結果を以下に示します。
l = ["three", "six", "nine", "twelve"]
print(l.pop("nine"))
=== 実行結果 ===
Traceback (most recent call last):
File "cannot_be_interpreted2.py", line 2, in <module>
print(l.pop("nine"))
TypeError: 'str' object cannot be interpreted as an integer
pop関数の引数に文字列を代入しているためTypeErrorが発生しました。
pop関数の引数に数値を代入することでTypeErrorを解決することができます。
エラーを解決したサンプルコード(2)
エラーを解決したサンプルコードとその実行結果を以下に示します。
l = ["three", "six", "nine", "twelve"]
print(l.pop(2))
=== 実行結果 ===
nine
まとめ
今回は、range()などを使った際に発生するTypeErrorの解決方法を紹介しました。
改めて解決方法を以下に示します。
代入した変数の型を見直す。正しい型の変数を代入する。
解決してほしいエラーなどがありましたらTwitterのDMまで!
最後までお読みいただきありがとうございます。
スポンサードサーチ