pythonではプログラム実行後に文字列や数値をユーザー自身に入力してもらうようにすることが可能です。
pythonを学び始めた当初に多くの方が接する機会のあるprint関数がありますが、こちらは出力用で、これと対をなすように存在するのが入力用に用意されているinput関数です。
今回はこのinput関数に関して使用方法や機能などを解説していきたいと思います。
input関数の使用方法
では早速input関数の使用方法について解説していきます。
その前にinput関数がどういった時に使用するのかいまいちイメージが使いないという方もいるかもしれないので、そのあたりも解説しておきます。
ここでは多くの方も実際に触ったことのあるスマホゲームに例えて解説していきます。
スマホゲームを最初に始めたらまず何を実施しますか?
そう最初に主人公の名前やユーザー名を決めると思います。
これはユーザー自身で入力してもらうもので、そのゲームを作成した会社自身で決めるものではありませんよね?
ゲームを作成した会社が何か文字列を出力したいとなった場合はprint関数を使用しますが、ユーザー自身で名前を入力するとなったらこのinput関数を使用いたします。
このような場面で使用する可能性のあるinput関数ですが、具体的な使用方法について次は解説していきます。
使用方法はそこまで難しいものでなく一番簡単なものとなるとinput()と記載するだけです。
具体的な使用方法を見てみましょう。
a=input("何か入力してください:")
print(a)
上記コードを入力して実行すると「何か入力してください:」という文字列が表示された後の「:」の右側に文字列入力が可能となります。
そこに文字列をなんでもいいので入力することでaという変数に文字列が代入され、print関数で出力されるというものです。
実際に実行結果は下記のようになります。
何か入力してください:入力しました
入力しました
「入力しました」と入力してエンターを押下すると「入力しました」と出力されます。
input関数で数値を使用する方法
次にinput関数で数値を入力する方法について解説していきます。
inpu関数では数値を入力しても下記のように文字列型となってしまいます。
【コード】
a=input()
print(type(a))
【実行結果】
12
<class 'str'>
因みにtype関数は変数の型が何なのかを見てくれる関数となっています。
このように数値として入力してもデータ型となってしまうため、文字列型から数値型へ変換してあげる必要があります。
この変更の事をキャストと言います。
ではキャストの方法はどうするのかというと下記のようにint()やfloat()などの引数に変数を入れるだけという簡単なものです。
【コード】
a=input()
b=int(a)
print(type(b))
【実行結果】
12
<class 'int'>
このように入力した12という値は数値型になっています。
複数の変数に一度で値を代入する方法
次に解説するのは一度に複数の変数へ値を入力する方法です。
例えばa、b、cという3つの変数にinput関数を使用して文字列や値を入力したいとなったとします。
今の知識ですと下記のようにinput関数を3度使用することで入力は可能となります。
a=input()
b=input()
c=input()
しかしこれですと3度input関数を入力する必要があります。
3度程度ですとそこまで苦労はありませんが、これが数十個、数百個となってくるととても面倒です。
そのような時に役立つのがsplitメソッドを使用した入力方法です。
どのように使用するかというと下記のように「,」を基準として入力した文字列を分割するという方法です。
【コード】
a,b,c=input().split(",")
print(a)
print(b)
print(c)
【実行結果】
リンゴ,ゴリラ,ラッパ
リンゴ
ゴリラ
ラッパ
「リンゴ,ゴリラ,ラッパ」と入力することでそれぞれの変数に値を代入することができます。
input関数で疑似的に会話を実現
最後に今回解説したinput関数を使用することで疑似的に会話を成立させることが可能となります。
【コード】
print("貴方の年齢はいくつですか?")
a1=input()
if int(a1)>=20:
print("20歳を超えていますので、料金は1200円となります")
print("料金をお支払いください")
while(True):
a2=input()
if int(a2)<1200:
print("料金が足りません。もう一度お支払いください")
elif int(a2)==1200:
print("1200円ちょうどいただきます")
print("どうぞお入りください")
break
else:
print("おつりをお返しします")
print("どうぞお入りください")
break
else:
print("20歳未満のため、料金は600円となります")
print("料金をお支払いください")
while(True):
a3=input()
if int(a3)<600:
print("料金が足りません。もう一度お支払いください")
elif int(a3)==600:
print("600円ちょうどいただきます")
print("どうぞお入りください")
break
else:
print("おつりをお返しします")
print("どうぞお入りください")
break
【実行結果】
貴方の年齢はいくつですか?
22
20歳を超えていますので、料金は1200円となります
料金をお支払いください
1000
料金が足りません。もう一度お支払いください
1200
1200円ちょうどいただきます
どうぞお入りください
赤太字で記載したものはユーザー側で入力したものです。
このようにif文なども組み合わせることでユーザーに判断をゆだねて異なる出力結果を出すことも可能となります。
まとめ
この記事ではpythonのinput関数について解説してきました。
- input関数とは?
- input関数で数値を使用する方法
- 複数の変数に一度で値を代入する方法
- input関数で疑似的に会話を実現
input関数はprint関数ほど頻繁に使用するものではありませんが、覚えておいて損のない機能ですので、この機会にぜひマスターしてみてください。
以上で今回の解説は完了となります。
コメント