LoginSignup
0
0

【Python】range関数の数値がタプルに...「'tuple' object cannot be interpreted as an integer」エラー

Posted at

概要

環境変数で設定した値に「1,000,000」のようにカンマを入れていたら、タプルとして解釈されてしまうことが分かりましたので、備忘録として紹介します。

エラーが発生したコード

(実際に運用していた時は、別の環境設定ファイルから数値を取得していましたが)実際にやっていたことは以下の通りです。

### 別ファイルで設定した値 ###
NUMBER = 1,000,000

### プログラムのコード ###
number = NUMBER

for i in range(number):
    # ...処理...

エラーメッセージ

    for i in range(number):
TypeError: 'tuple' object cannot be interpreted as an integer

原因と解決方法

冒頭にも記載した通り、Pythonではカンマで区切られた数値はタプルとして解釈されます。
そのため、1,000,000と記載していると、タプルとしてrange関数に渡されてしまいます。

この関数は、整数値を引数に取る必要があるので、「整数値じゃないよ、これタプルだよ」と怒られてしまうのです。

カンマを取り除いて実施すれば問題なく実施されます。

NUMBER = 1000000

ということで、当然といえば当然の話ですが...
カンマを入れて数値を見やすいようにする癖がついていると、要注意だなと思いました。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0