Pythonの「ValueError: invalid literal for int() with base 10: ~」エラーの原因と解決方法についてまとめました。
Pythonのint関数でエラーになる原因
Pythonのint関数を使うと、「ValueError: invalid literal for int() with base 10: ~」エラーが出ることがあります。
このエラーは、int関数の引数が正しくないことを意味します。
baseを指定しない場合、int関数の引数に与えることができるのは「数値型」もしくは「10進整数書式の文字列、バイト型、バイト配列型」となります。
そのため、エラーの解決方法としては正しい引数をint関数に与えることとなります。
以下でエラーが出る場合と出ない場合のサンプルコードを紹介します。
【サンプルコード】int関数でエラーが出ない場合
int関数でエラーが出ない場合のサンプルコードです。
# 10進書式の文字列 print(int("1")) # 1 # 10進表記の小数 print(int(1.5)) # 1 # 16進数 print(int(0x5)) # 5 # 8進数 print(int(0o5)) # 5 # 2進数 print(int(0b101)) # 5 # ブール値 print(int(True)) # 1 # 10進表記のバイト型 print(int(b'3')) # 3
【サンプルコード】int関数でエラーが出る場合
int関数でエラーが出る場合のサンプルコードです。
# 普通の文字列はエラー print(int("Hello")) # ValueError # 少数書式の文字列はエラー print(int("1.5")) # ValueError # 16進書式の文字列はエラー print(int("0x5")) # ValueError # 8進書式の文字列はエラー print(int("0o5")) # ValueError # 2進書式の文字列はエラー print(int("0b101")) # ValueError # ブール値書式の文字列はエラー print(int("True")) # ValueError # 16進書式のバイト型はエラー print(int(b'3')) # ValueError
関連ページ
Pythonの基礎から応用例については以下ページにまとめています。
【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント