【Python】range()などを使った際に発生するTypeErrorを解決する方法

python typeerror A object cannot be interpreted B

こんにちは、にわこまです。

今回は、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として解釈することができません。」ということです。

 

 

 

 

エラーが発生するサンプルコード(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まで!

 

 

最後までお読みいただきありがとうございます。


スポンサードサーチ