キーボードからの入力を受け取る

input()

キーボードからの値の入力には、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 を実数値に変換できません。
    >>>
  

関連項目

int()

float()


Python目次 inserted by FC2 system