python

【python】標準入出力

標準入力

 

標準入力には、input() を使う

input()は入力されたデータを文字列として扱う

1行に1つの文字列を入力して変数に格納する
例)入力:s

str = input() # sを取得し、strに値を入れる
print(str) #出力:s
1行に1つの文字列を入力し整数に変換して変数に格納する

このように入力をint()で囲むことによって()内の文字列をintに変換する

例)入力:i

int = int(input()) #iを取得し、intに値を入れる
print(int) #出力:i
キャスト

pythonの型変換は、関数です。int型に変換するint()のように変換したい型()とすると変換できる。intの他に、float,strなどがある

※型を確認するのは、type()
a = int(input())
print(type(a))#出力:int

1行に複数の文字列を入力して変数に格納する
例)入力:s_1 s_2

s = input().split() #s_1 s_2を分割して取得し、sに値を入れる
#input()のままだと"s_1 s_2"という文字列が入る
print(s) #出力:['s_1', 's_2']
print(s[0]) #出力:s_1
print(s[1]) #出力:s_2

split()を使うことでリスト型になる
デフォルトだと空白で区切る
split(“,”)やsplit(“:”)のようにすると区切り文字を変えれる

1行に複数の文字列を入力し、整数に変換して変数に格納する
# 例)入力:1 2 3 4

l = input().split()
print(l)  # ['1', '2', '3', '4']

a, b, c, d = map(int, l)
print(f"{a} {b} {c} {d}")  #出力: 1 2 3 4

l2 = list(map(int, l))
print(l2)  #出力: [1, 2, 3, 4]

l3 = [float(x) for x in l]
print(l3)  # 出力:[1.0, 2.0, 3.0, 4.0]

a, b, c, d = list(map(int, l))
print(f"{a} {b} {c} {d}")  #出力: 1 2 3 4 

マップとは、リストのようなオブジェクトに含まれる各要素に対して、統一された変換処理を施し、別のオブジェクトを生成する操作で、Pythonではmap関数を用いて行うことができます。mapが返す型は、iterator型

複数行に複数の文字列を入力し変数に格納する
例)入力:
s_1
s_2
s_3

s = [input() for i in range(3)]
print(s) #出力['s_1', 's_2', 's_3']
最初に入力回数、次に文字列を入力し変数に格納する
例)入力:
N
s_1
s_2
s_3
...
s_N

N = int(input()) #1行目のNを取得する
s = [input() for i in range(N)] #複数行の数値の入力を取得
print(s) #出力:['s_1', 's_2', 's_3', 's_N']
1 2