Pythonで標準入力を取得する方法:input(), raw_input()

Pythonの組み込み関数 input(), raw_input() を使って標準入力を取得する方法について説明します。

input() で標準入力を取得する

input() は引数に標準出力時に表示する文字列を渡します。

input('文字列')

input() の戻り値は Python 2.x 系と Python 3.x 系で異なります。

Python 2.x 系の場合は、ユーザーの入力した式の評価された値が返されるのに対して、Python 3.x 系は文字列として返されます。

x = input('> ')
print(x)

上のプログラムを実行すると「> 」が表示されますので、値を入力してください。

Python 2.x 系の場合

以下は「7 + 8」を入力した結果です。

> 7 + 8
15

input() では入力を式として評価されます。input() が入力として受け付けるのは、 Python コードとして有効な式のみです。それ以外はエラーになります。もしPython 2.x 系で Python 3.x 系の input() と同じ動作をさせたい場合は、raw_input() を使用してください。

Python 3.x 系の場合

こちらの場合は、入力した値が文字列としてそのまま返されます。

> 7 + 8
'7 + 8'

raw_input() で標準入力を取得する

raw_input() は引数に標準出力時に表示する文字列を渡します。

raw_input('文字列')

引数に標準出力に表示される文字列を渡します。戻り値はユーザーが入力した文字列を返します。raw_input() を使って2つの整数を入力し、足した結果を表示します。

y = raw_input('y: ')
z = raw_input('z: ')
x = int(y) + int(z)
print(x)

 以下は上のプログラムを実行して「3」と「5」を入力した結果です。

y: 3
z: 5
8

int()で変換せずに入力した文字列を「+」で実行すると文字列の連結になるため8ではなく '35' が出力されてしまいます。


イベント

2017/12/05(火)
Design Thinking Square