コンソールからの入力 (raw_input / input)
ここまででPythonの基本構文や実行方法を学んできました。ここで少し趣向を変えてコマンドプロンプト(コンソール)からの入力値をプログラムで受け取ってみましょう。Python 2系ではraw_input、Python 3系ではinputを使用します。
これはPython 2系向けのソースコードです。3系を用いる場合はinputを使用してください。
Python 2系
# -*- coding:utf-8 -*-
print u'あなたの名前を教えてください。'
your_name = raw_input('>> ')
print your_name
ファイル名を「test03.py」とし作業ディレクトリへ保存します。これまで通りプログラムを実行してください。
python test03.py
--実行結果--
あなたの名前を教えてください。 >>
上記のような実行結果になったと思います。これまでのプログラムは実行後に即時終了していましたが、今回は「raw_input」関数によってユーザーからの入力を待ち受けしている状態になっています。それでは次のように「>> 」の右側にあなたの名前を入力してからENTERキーを押してみましょう。
--「python-izm」と入力--
あなたの名前を教えてください。 >> python-izm
--実行結果--
あなたの名前を教えてください。 >> python-izm python-izm
入力した値がそのままコンソール上へ出力されたはずです。よりプログラムらしくなってきたと思います。こういった形でユーザーからの入力値、選択値に応じて適切な出力を行うのが基本です。またそのまま出力するのではなく、多少の加工をするとさらにプログラムらしくなります。
Python 2系
# -*- coding:utf-8 -*-
print u'あなたの名前を教えてください。'
your_name = raw_input('>> ')
print u'こんにちは! {} さん!'.format(your_name)
--「python-izm」と入力--
あなたの名前を教えてください。 >> python-izm
--実行結果--
あなたの名前を教えてください。 >> python-izm こんにちは! python-izm さん!
※「format」についてはprint文で触れています。
これはPython 3系向けのソースコードです。2系を用いる場合はraw_inputを使用してください。
Python 3系
print('あなたの名前を教えてください。')
your_name = input('>> ')
print(your_name)
このようにPython 3系ではraw_inputからinputへ変更されました。print関数にも気を付けて実行してください。それ以外の注意点は2系と同じです。
困った時はドキュメントを参照しましょう!
