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の使い方について、基礎文法から応用例まで入門者向けに解説します。
コメント