プログラム中に値を書いて計算をしていたけど,キーボードから値の情報を得ることができないだろうか?pythonにはinput()関数がありユーザーがキーボードから値を入力する事ができます.本記事ではinput()関数の使い方を丁寧に解析していきます.
スポンサーリンク
input()関数の使い方
input()関数を使うとユーザーからの入力値を使う事ができます.
・好きな色を聞いて,その色の服をお勧めするプログラムを作成してみます.
[IN]
#好きな色を聞く
color=input("あなたの好きな色は?")
#商品を勧める
print("あなたにお勧めは,"+color+"色の服です.")
[OUT]
あなたの好きな色は? 赤 ←キー入力
あなたにお勧めは,赤色の服です.
サンプルでは,赤と入力してエンターキーを押しました.
キー入力で数値を取得する
先程は文字でしたが,今度は数値について同様の方法でキー入力してみます.
・長さの単位変換で入力したキロメートル[km]をマイル[mi]に変換するプログラムを作ってみます.1kmは0.6214マイルに相当します.
[IN]
print("長さをキロメートルからマイルにします.")
km=input("長さをキロメートルで入力してください")
mi=km*0.6214
print(km + "kmは" + mi + "マイルです")
[OUT]
File "test.py", line 3, in <module>
mi=km*0.6214
TypeError: can't multiply sequence by non-int of type 'float'
エラーが出力されたと思います.これはユーザが入力したのは文字で計算式には数値を入力しなければいけないからです.入力した文字情報を浮動小数点型(float型)に変換する必要があります.
文字式をを浮動小数点型に変換するにはfloat(変換したい文字)を使います.
またprintで文字列中にkmとmiを含めてて表示させるには,kmとmiを文字に変換する必要があります.これはstr()関数で行います.
pythonでは型式を揃える場面があります.
・先程エラーになったプログラムを型式変換を使って動く様にしましょう.
[IN]
print("長さをキロメートルからマイルにします.")
km=input("長さをキロメートルで入力してください")
km=float(km) #文字を浮動小数点型に変更
mi=km*0.6214
km=str(km) #浮動小数点型から文字に変換
mi=str(mi) #浮動小数点型から文字に変換
print(km + "kmは" + mi + "マイルです")
[OUT]
長さをキロメートルからマイルにします.
長さをキロメートルで入力してください10
10.0kmは6.2139999999999995マイルです
サンプルでは10を入力しました.
ここまでで,input()関数について解説をしてきました.入力は文字として認識され計算で使うには浮動小数点型にする必要があることが理解できたと思います.
スポンサーリンク
コメント