標準入力から文字を読み込む


このエントリーをはてなブックマークに追加

プログラミングコンテストPythonを使うとき用に、標準入力から文字や数字を読み込む方法をまとめる。

一行分を文字列として受け取る

標準入力が以下として

aa bb cc dd ee

以下のPythonコードで受けると、

#!/usr/bin/env python
# -*- coding: utf-8 -*-
string = raw_input()

stringには以下のような空白込みの文字列が入る。

"aa bb cc dd ee"

一行分を空白でSplitして文字列として受け取る

さきほどと同じ標準入力に対して、空白でSplitした文字列が欲しい時は以下のようにする。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
string_list = raw_input().split()

こうすると、string_listは5つの文字列が入ったリストになる。

['aa', 'bb', 'cc', 'dd', 'ee']

一行分を空白でSplitして数値として受け取る

標準入力を文字列ではなく数値として解釈したい場合は以下のようにする。
まず標準入力は以下のようだとする。

100 200 300

以下のようなPythonスクリプトを書けば、

#!/usr/bin/env python
# -*- coding: utf-8 -*-
num_list = map(int, raw_input().split())

num_listは5つの数字が入ったリストになる。

[100, 200, 300]