キーボードからの値の入力には、input() を使うことができます。
v = input()
たとえば、次のように使います。
>>> v = input()
Hello
>>> v
'Hello'
上の例で示したように、input() で入力された値(上の例では変数v に保存された値)は、文字列 として扱われます('と'で囲まれた値は文字列です)。
入出力は環境に依存するために、環境によってはinput() は予期した通りに機能しません。 たとえば、エミュレーターを使う環境ではinput() は入力を待ちません。
input() の引数には、入力を促すためのプロンプトを指定することができます。
v = input('入力を促す文字列')
6.1 文字列の入力
75
たとえば、「Name:」と表示して入力を促し、入力された値をname という変数に保存し、変数 の内容を表示するときには次のようにします。
>>> name = input('Name:')
Name:Yamada Hanako
>>> name
'Yamada Hanako'
input() で入力すると、たとえ数値を入力しても文字列として保存されます。
この文字列表記の数を計算に使うことはできません。文字列表現の数を整数または実数に変換
する必要があります。
文字列を整数に変換するには、int() を使います(実数値に変換する場合にはfloat() を使います)。
>>> score = int(score) # 数値に変換
>>> score
88
>>> type(score)
<class 'int'>
最後のtype() は引数の変数のクラス(型と考えてよい)を返します。ここではintに変換されていることがわかります。
つまり、次の2 行で整数値の入力を行うことができます。
score = input('Score:') # 入力
score = int(score) # 数値に変換
なお、数値以外の値をint() で変換しようとすると、エラーになります
実行時にこのようなエラーが発生してプログラムが停止するのを避けるには、例外処理を使います。
例外処理の構文はtry~except…で、典型的には次のようにします。
try :
v = int(a)
except ValueError:
print("Error:", a, "を整数値に変換できません。")
エラーの場合は次のようにエラーメッセージが表示されます。
>>> a='3.1H'
>>> try :
... v = int(a)
... except ValueError:
... print("Error:", a, "を整数値に変換できません。")
...
Error: 3.1H を実数値に変換できません。
>>>