標準入力の取得方法(Python)
atcoder や paiza などの競技プログラミングをするときによく使う標準入力の取得方法。
1つの文字を取得
入力
a
実装
s = input()
1つの数値を取得
入力
1
実装
n = int(input())
1行複数の文字を取得(変数固定)
入力
a b
実装
a, b = input().split()
1行複数の数値を取得(変数固定)
入力
1 2
実装
a, b = map(int, input().split())
print('{} {}'.format(a, b))
# 出力
1 2
1行複数の数値を取得(Listで変数可変)
入力
1 2
実装
ls = list(map(int, input().split()))
print(ls)
# 出力
[1, 2]
複数行1つの文字を取得
競プロでは入力の1行目に行数指定されることがほとんどなので分けて取得。
入力
3 # 行数
1
2
3
実装
n = int(input())
l = [int(input()) for _ in range(n)]
print(l)
# 出力
[1, 2, 3]
複数行複数の数値を取得(変数固定)
競プロでは入力の1行目に行数指定されることがほとんどなので分けて取得。
入力
3 # 行数
1 2 3
4 5 6
7 8 9
実装
n = int(input())
for _ in range(n):
a, b, c = map(int, input().split())
print('{} {} {}'.format(a, b, c))
# 出力
1 2 3
4 5 6
7 8 9
複数行複数の数値を取得(2次元配列)
入力
3 # 行数
1 2 3
4 5 6
7 8 9
実装
n = int(input())
data = [list(map(int, input().split())) for _ in range(n)]
print(data)
# 出力
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
出力するときは f-string が便利