ValueError: invalid literal for int()
数値に変換できない文字列をint()で変換しようとした場合に発生
概要
ValueErrorは、関数に渡された引数の型は正しいが、値が不適切な場合に発生します。特にint()やfloat()での文字列変換でよく発生します。
エラーメッセージ
ValueError: invalid literal for int() with base 10: 'abc'
原因
- 数字以外の文字列を変換: アルファベットや記号を含む文字列
- 空文字列: 空の文字列をint()で変換
- 小数点を含む文字列をint()で変換: “3.14"などの文字列
解決策
1. try-exceptでエラーハンドリング
| |
2. 事前にバリデーション
| |
3. 小数点を含む場合はfloat()を使用
| |
4. 正規表現でバリデーション
| |
Python の他のエラー
この記事は役に立ちましたか?