【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とは、統計処理や機械学習、ディープラーニングといった数値計算分野を中心に幅広い用途で利用されている人気なプログラミング言語です。 主な特徴として「効率のよい、短くて読みやすいコードを書きやすい」、「ライブラリが豊富なのでサクッと...

コメント