プログラミングコンテストにおける Python での標準入出力のまとめ

入力

1行に1要素の場合

N = int(input())
  • 文字列
S = input()

beta 版のコードテスト環境だと改行を含む場合もあるので注意しよう。
無印のコードテストとテスト時には改行は含まれない。
f:id:wakabame:20180304121614p:plain
気になる場合は input().rstrip() とすればよい。

1行にスペース区切りで複数要素の場合

  • 2つの数字を別の変数 N, M に
N, M = map(int, input().split())
  • 2つの文字列を別の変数 S, T に
S, T = map(str, input().split())
  • 複数の数字をリスト A に
A = list(map(int, input().split()))

複数行に1要素がある場合

  • 複数の数字をリスト A に
A = [int(input()) for _ in range(N)]
  • 複数の文字列をリスト A に
A = [input() for _ in range(N)]

beta版のコードテスト環境下では input().rstrip() とすればよい。

複数行にスペース区切りで複数要素の場合

  • 複数の数字をリスト A に
A = [list(map(int, input().split())) for _ in range(N)]

A[i][j] は  i+1 行目の j+1 文字目を表す

出力

1要素の出力

  • 文字列または数字 A を改行つきで表示
print(A)

複数要素の出力

  • リスト A を1要素ごとに改行して出力
[print(A[i]) for i in range(N)]
  • リスト A を空白区切りで出力
print(' '.join(map(str, B)))

クォーテーション内の半角スペースが挿入される。
別の文字(例えばカンマ)で区切りたい場合はそこを変更すればよい。