質問: python超初心者です。ValueError: invalid literal for int() with base 10 とエラー表示されたのですが、どう対処すれば良いのでしょうか?
回答: エラーはint()の引数に不正な書式が使われたという意味です。 int() の引数にとれるのは (baseを指定しない場合) ・数値型 ・10進整数書式の文字列・バイト型・バイト配列型 です 多分10進書式以外の文字列をint型に変換しようとしたのではないでしょうか。 int(5) # = 5 : 整数(10進数) int(5.5) # = 5 : 少数 int(0x5) # = 5 : 16進数 int(0o5) # = 5 : 8進数 int(0b101) # = 5 : 2進数 int(True) # = 1 : ブール値 int(b'5') # = 5 : 10進表記のバイト型 int("5") # = 5 : 10進書式の文字列 int("5.5") # ValueError : 少数書式の文字列は駄目 int("0x5") # ValueError : 16進書式の文字列は駄目 int("0o5") # ValueError : 8進書式の文字列は駄目 int("0b101") # ValueError : 2進書式の文字列は駄目 int("True") # ValueError : ブール値書式の文字列は駄目 int("hoge") # ValueError : ただの文字列は当然駄目 int(b'f5') # ValueError : 16進書式のバイト型も駄目 16/8/2進数書式の文字列を変換する場合は、第2引数で明示しましょう。 int("0x5" ,16) # = 5 int("0o5" ,8) # = 5 int("0b101" ,2) # = 5 第2引数に0を指定することで自動判別もできます。 int("0x5" ,0) # = 5 int("0o5" ,0) # = 5 int("0b101" ,0) # = 5