ホームページ > バックエンド開発 > Python チュートリアル > Python で数値入力を適切に読み取って使用するにはどうすればよいですか?

Python で数値入力を適切に読み取って使用するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-24 14:29:10
オリジナル
759 人が閲覧しました

How Do I Properly Read and Use Numerical Input in Python?

Python で入力を数値として読み取る

Python の input 関数は、ユーザー入力を自動的に解釈する他のプログラミング言語とは異なり、データを文字列として返します。番号。これにより、ユーザー入力に対して数学的演算を実行するときにエラーが発生する可能性があります。以下は問題を示す例です:

play = True

while play:

    x = input("Enter a number: ")  # Input is taken as a string
    y = input("Enter a number: ")

    print(x + y)  # Concatenates the strings instead of adding them
    print(x - y)  # Raises a TypeError due to string subtraction
    print(x * y)  # Multiplies the string representations as integers
    print(x / y)  # Raises a ZeroDivisionError if y is an empty string
    print(x % y)  # Raises a TypeError due to string modulus

    if input("Play again? ") == "no":  # Again, input is taken as a string
        play = False
ログイン後にコピー

解決策:

この問題を解決するには、int() を使用して入力文字列を明示的に整数に変換します。 function:

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))
ログイン後にコピー

これにより、入力データが数値として扱われ、数学的演算が実行されるようになります。

オプション: 柔軟な入力変換

Python では、入力数値の基数を指定できます。これは、10 進数以外の基数で数値を読み取る必要がある場合に便利です。 int() 関数の 2 番目のパラメータは基数を示します:

x = int(input("Enter a number (base 8): "), 8)  # Reads input as an octal number
y = int(input("Enter a number (base 16): "), 16)  # Reads input as a hexadecimal number
ログイン後にコピー

入力データが指定された基数に対して無効な場合、int() 関数は ValueError を発生させます。

注:

Python 2.x には、raw_input() と raw_input() という 2 つの入力関数があります。入力()。 raw_input() は Python 3.x の input() のように動作し、入力を文字列として返します。一貫性を保つために、Python 2.x と Python 3.x の両方で input() を使用することをお勧めします。

以上がPython で数値入力を適切に読み取って使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート