0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

~ 入力 ~ チートシート

Last updated at Posted at 2021-03-22

#目次
入力が1つのみの場合 N = int(input())
入力が1行で複数の場合
 入力が1行で数個の場合 X,Y = map(int,input().split())
 入力が1行で多数の場合 mat = list(map(int, input().split()))
入力が複数行で各行に1つずつの場合 mat = [int(input()) for _ in range(N)]
入力が複数行で複数の場合 mat = [list(map(int, input().split())) for _ in range(N)]

#はじめに

チートシートの扱いついてはここを読んでください

#入力が1つのみの場合

input.py
N = int(input())

入力の型に応じてintの部分を str とか float とかに変更

#入力が1行で複数の場合

##入力が1行で数個の場合

input.py
X,Y = map(int,input().split())

X,Yの部分を、入力と同じ数の任意の変数に変更

##入力が1行で多数の場合

input.py
mat = list(map(int, input().split()))

入力数に関わらず自動で1次元配列が作成され、入力が要素として順に格納される

#入力が複数行で各行に1つずつの場合

input.py
#N = int(input())
mat = [int(input()) for _ in range(N)]

下のやつよりもこっちのほうが楽ですね
そもそもこういうタイプの入力はあまりAtcoderでは見ない気がするけど.....

input.py
N = int(input())
mat = [0]*N
for i in range(N):
  mat[i] = int(input())
#print(mat)

for文で入力が1つのみの場合を回して、用意した配列に順に格納していくだけ

#入力が複数行で複数の場合

input.py
N = int(input())
mat = [list(map(int, input().split())) for _ in range(N)]

こんなのあったんですね(記事書くために調べてたら出てきた)
ちゃんと体系的にpythonを学習していないのでこういうことが多い...
入力と同時に操作しないならこれで十分

input.py
N,M = map(int,input().split())
mat = [[0] * M for i in range(N)]
#     [[0] * 横 for i in range(縦)]
for i in range(N):
  tmp = list(map(int, input().split()))
  for j in range(M):
    mat[i][j] = tmp[j]
#[print(*mat[i]) for i in range(len(mat))]

入力が複数行で各行に1つずつの場合と同じことを2次元配列でやる
2次元配列を使うと行と列を混合しやすいので注意

input.py
N = int(input())
X = [0]*N
Y = [0]*N
for i in range(N):
  x,y = map(int,input().split())
  X[i] = x
  Y[i] = y
#print(X)
#print(Y)

2次元配列を使うと混乱しやすいので、入力が数種類ならそれぞれ別に配列を作成して格納する方が楽

input.py
H,W = map(int,input().split())
mat = [[0] * W for i in range(H)]
#     [[0] * 横 for i in range(縦)]
for i in range(H):
  tmp = str(input())
  for j in range(W):
    mat[i][j] = tmp[j]
#[print(*mat[i], sep='') for i in range(len(mat))]

Atcoderでよくある#.で地図とかを表すような入力用(入力が数字か文字列かの違い)
出力でこの形式を使わないなら、最初に扱いやすいよう0/1とかに変換しといた方がいいかも

0
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?