Python で入力を整数として読み取る方法

胡金庫 2023年1月30日
  1. Python 2.x でユーザー入力を整数として読み取る
  2. Python 3.x でユーザー入力を整数として読み取る
Python で入力を整数として読み取る方法

Python 2.x でユーザー入力を整数として読み取る

Python 2.7 には、ユーザー入力を読み取るための 2つの関数、つまり raw_inputinput があります。

raw_input はユーザー入力を生の文字列として読み取り、その戻り値は単純 string です。

input はユーザー入力を取得してから文字列を評価し、評価の結果が返されます。

例えば、

>>> number = raw_input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
('1 + 1', <type 'str'>)

>>> number = input("Enter a number: ")
Enter a number: 1 + 1
>>> number, type(number)
(2, <type 'int'>)
警告

Python 2.x で input を使用する場合は、ユーザーが入力した任意の内容をコンパイルすることを評価するので、安全問題が生じる可能性があると考えてください。例を挙げて、もしあなたがすでに os に転入したとしたら、ユーザーに入力を要求します。

os プログラムにすでにインポートしていて、ユーザー入力を求めている場合、

>>> number = input("Enter a number: ")
Enter a number: os.remove(*.*)

入力 os.remove(*.*) が評価され、通知なしで作業ディレクトリのすべてのファイルが削除されます!

Python 3.x でユーザー入力を整数として読み取る

raw_input は Python 3.x で廃止されています。Python 3.x で’input’に置き換えられています。ユーザー入力文字列のみを取得しますが、上記のセキュリティリスクのため、文字列は評価しません。

したがって、ユーザー入力を文字列から整数に明示的に変換する必要があります。

>>> number = int(input("Enter a number: "))
Enter a number: 123
>>> number
123
著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Python Input