ホームページ >バックエンド開発 >Python チュートリアル >Python エラー: ValueError: 基数 10 の int() のリテラルが無効です: 'xxx'、解決方法は?

Python エラー: ValueError: 基数 10 の int() のリテラルが無効です: 'xxx'、解決方法は?

王林
王林オリジナル
2023-08-18 17:24:1320346ブラウズ

Python报错:ValueError: invalid literal for int() with base 10: \'xxx\',该如何解决?

Python エラー: ValueError: 基数 10 の int() のリテラルが無効です: 'xxx'、解決方法は?

Python を使用してプログラミング開発を行う過程で、さまざまなエラー メッセージに遭遇することがよくあります。その中でよくあるエラーは、「ValueError: 基数 10 の int() のリテラルが無効です: 'xxx'」です。このエラーは通常、整数に変換できない文字列を int() 関数に渡すときに発生します。

エラー メッセージの意味: 文字列を有効な整数として解析できないため、文字列を int() 関数に渡すときにエラーが発生しました。考えられる理由は、文字列に数字以外の文字が含まれているか、文字列が空であることです。

このエラーを再現するコード例を見てみましょう:

number = input("请输入一个整数:")
result = int(number)
print(result)

このコードでは、input() 関数を使用してユーザーが入力した文字列を受け取り、それを整数に変換しようとします。タイプ。ユーザーが入力した文字列を整数に変換できない場合、「基数 10 の int() のリテラルが無効です」エラーがトリガーされます。

この問題を解決するために、いくつかのエラー処理操作を実行できます。一般的な解決策は次のとおりです。

  1. 例外処理に try-Except ステートメントを使用する
number = input("请输入一个整数:")
try:
    result = int(number)
    print(result)
except ValueError:
    print("输入的字符串无法转换为整数,请重新输入!")

この例では、try-Except ステートメントを使用して ValueError 例外をキャッチします。ユーザーが入力した文字列を整数に変換できない場合、例外がトリガーされ、プログラムは例外ブロックにジャンプして、対応するエラー処理コードを実行します。

  1. isdigital() メソッドを使用したチェック
number = input("请输入一个整数:")
if number.isdigit():
    result = int(number)
    print(result)
else:
    print("输入的字符串无法转换为整数,请重新输入!")

この例では、isdigital() メソッドを使用して、入力文字列に数字のみが含まれているかどうかを確認します。文字列に数値以外の文字が含まれていない場合は、安全に整数に変換できますが、そうでない場合は、エラー メッセージが出力されます。

これら 2 つの方法に加えて、特定のビジネス ニーズに応じて他の処理も実行できます。たとえば、入力文字列が空の場合は、ユーザーに再入力を求めることができます。入力文字列に数値以外の文字を保持する必要がある場合は、正規表現を使用して有効な数値文字などを抽出できます。

要約すると、Python プログラミング中に「ValueError: int() のリテラルが基数 10 で無効です: 'xxx'」というエラーが発生した場合は、まず入力文字列が整数への変換要件を満たしているかどうかを確認する必要があります。次に、例外処理に try-exc ステートメントを使用するか、文字列の内容を確認するために isdigital() メソッドを使用するなど、ビジネス ニーズに基づいて適切な処理方法を選択します。これらの方法を通じて、このエラーをより適切に解決し、プログラムの堅牢性を向上させることができます。

以上がPython エラー: ValueError: 基数 10 の int() のリテラルが無効です: 'xxx'、解決方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。