Python プログラムでユーザーの入力を受取る
プログラムではよく、ユーザーからの入力を促しながら処理を行いたい場合があります。 例えば、なにかのユーザー登録画面では、名前や年齢の入力をユーザーに促したりします。
グラフィカルなユーザーインターフェイスでなくても、ユーザーの入力を受け付けることは可能です。
ユーザーからの入力を受け取る input() 関数
Python では、ユーザーからの入力を受け取るために input() 関数が使えます。
パラメータでは入力を促す文字を受け取ります。例えば、入力を促す文字を "Enter your name" とするには、次のようにします。
s = input('Enter your name : ')
ユーザーが入力した結果は、input() 関数の戻り値として返ります。上の例では変数 s にユーザーが入力した文字が入ります。
例えば、名前を入力した結果を受け取り、"Hi, 名前" という形式で文字を出力するなら、次のようにします。
s = input('Enter your name : ')
print(f'Hi, {s}!')
これを IDLE で実行してみましょう。
IDLE の使い方については、詳しくは「Python の IDLE の使い方」に書いていますので、 そちらを参考にしてください。
ファイル test1.py に上のコードを書いて、 IDLE で開き メニューの から実行しました。
次のように入力が促され、それに対して John と入力して Enter を押しました。
入力が無かった時に繰り返し入力を促す
上のコードではユーザーが文字を入力しないで Enter キーを押したとしても、 名前が空のままプログラムが実行されてしまいます。
もし、名前の入力がなかった時には、もう一度入力を促すようにするなら、次のようにします。
while True:
s = input('Enter your name : ')
s = s.strip() # 空白文字のみの入力は無視する
if s != '':
break
print(f'Hi, {s}!')
ここでは繰り返しを表すための while 文 と条件を判定するための if 文 を利用しています。
実行結果は次のようになります。
Enter your name :
Enter your name :
Enter your name :
Enter your name : John
Hi, John!
以上、ここではユーザーから入力を受け取るための input() 関数とその使い方を説明しました。