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 で開き Run メニューの Run Module から実行しました。

Python IDLE Run menu

次のように入力が促され、それに対して John と入力して Enter を押しました。

Python IDLE Output

入力が無かった時に繰り返し入力を促す

上のコードではユーザーが文字を入力しないで 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() 関数とその使い方を説明しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門