#目次
入力が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つのみの場合
N = int(input())
入力の型に応じてint
の部分を str とか float とかに変更
#入力が1行で複数の場合
##入力が1行で数個の場合
X,Y = map(int,input().split())
X,Y
の部分を、入力と同じ数の任意の変数に変更
##入力が1行で多数の場合
mat = list(map(int, input().split()))
入力数に関わらず自動で1次元配列が作成され、入力が要素として順に格納される
#入力が複数行で各行に1つずつの場合
#N = int(input())
mat = [int(input()) for _ in range(N)]
下のやつよりもこっちのほうが楽ですね
そもそもこういうタイプの入力はあまりAtcoderでは見ない気がするけど.....
N = int(input())
mat = [0]*N
for i in range(N):
mat[i] = int(input())
#print(mat)
for文で入力が1つのみの場合を回して、用意した配列に順に格納していくだけ
#入力が複数行で複数の場合
N = int(input())
mat = [list(map(int, input().split())) for _ in range(N)]
こんなのあったんですね(記事書くために調べてたら出てきた)
ちゃんと体系的にpythonを学習していないのでこういうことが多い...
入力と同時に操作しないならこれで十分
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次元配列を使うと行と列を混合しやすいので注意
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次元配列を使うと混乱しやすいので、入力が数種類ならそれぞれ別に配列を作成して格納する方が楽
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とかに変換しといた方がいいかも