【Python】1行、複数行の標準入力(input、sys.stdin.readlines)

Python言語のinput、sys.stdin.readlinesで複数行の標準入力を受け取る方法をソースコード付きで解説します。

【input】複数行の標準入力

Python3ではinput関数で1行の標準入力を受け取りことができます。
input関数を繰り返し呼び出すことで、その分の行数の標準入力を受け取れます。

ただし、複数行受け取る場合は、行数を指定してやる必要があります。
今回は、1行目で行数を与え、2行目以降にデータを入力してみました。

ソースコード

サンプルプログラムのソースコードです。

# 行数を取得
num_lines = int(input())

# 1行ずつ取り出し
for i in range(num_lines):
    line = input()
    print(i+1, "行目:" + line)

"""
【標準入力】
2
沖田
モードレッド

【標準出力】
1 行目:沖田
2 行目:モードレッド
"""

■補足
複数行の標準入力はsys.stdin.readlinesを使うほうが簡単です。

複数行の標準入力

Python3ではsys.stdin.readlinesメソッドで複数行の標準入力を受け取りことができます。

ソースコード

サンプルプログラムのソースコードです。

#-*- coding:utf-8 -*-
import sys


# 行数を取得
lines = sys.stdin.readlines()

# 中身表示
print(lines) # ['沖田\n', 'モードレッド']

# 1行ずつ取り出し
for i, line in enumerate(lines):
    # 改行コードが含まれていれば除去
    line = line.strip("\n")
    print(i+1, "行目:", line)

# 標準入力
# 沖田
# モードレッド

# 標準出力】
# 1 行目: 沖田
# 2 行目: モードレッド
【Python超入門】使い方とサンプル集
Pythonの使い方について、基礎文法から応用例まで入門者向けに解説します。

コメント