最近競技プログラミングの問題をPythonで解いているので、よくある標準入力と標準出力関連のコードをメモ代わりに並べてみます。
入力
文字列を1行入力
s = input()
ちなみにinput()は末尾の改行を除く仕様が入っているのでrstrip()をかける必要はありません。
整数を1行から1つ入力
n = int(input())
1行内のスペースで区切られた複数の文字列を個別の変数に入力
a, b, c = input().split()
入力の数がわかっている場合のやつ。
split()は引数sepを与えると区切り文字をスペース以外にもできます。
4. 組み込み型 — Python 3.6.5 ドキュメント
1行内のスペースで区切られた複数の整数を個別の変数に入力
x, y, z = map(int, input().split())
map()で各要素を数値に変換します。
1行内のスペースで区切られた複数の文字列をリストに入力
l = input().split()
1行内のスペースで区切られた複数の整数をリストに入力
l = list(map(int, input().split()))
map()までだと帰ってくるオブジェクトはmap型のイテレータなので要素に[]アクセスをしようとしたりするとエラーになります。なのでリストとして扱い時はlist()で明示的に変換。
改行で区切られた複数行の文字列をリストに入力
l = [input() for _ in range(N)]
Nの部分は個数を入れてください。
改行で区切られた複数行の整数をリストに入力
l = [int(input()) for _ in range(N)]
Nの部分は個数を入れてください。
出力
値を出力して改行
print('hoge')
改行したくない場合はprint(‘hoge’, end=”)のように引数endを加えます。
2. 組み込み関数 — Python 3.6.5 ドキュメント
いくつかの値をスペース区切りで出力
print('foo', 'bar')
print()に複数の引数を与えるとスペース区切りで出力します。
区切り文字を変えたい場合は引数sepを指定します。
文字列のリストをスペース区切りで連結して出力
print(' '.join(l))
整数のリストをスペース区切りで連結した文字列にして出力
print(' '.join(map(str, l)))
中身が文字列でない場合、一旦各要素にstrを通してあげないとエラーになります。
コメント