Python3の標準入力について


AtCoderやpaizaで使用する(Python3の)標準入力についてメモ

1行1単語の取得

<入力データ>
12345

<記述コード>
str = input()
print(str)

<出力データ>
12345 (データ型:str)

int型データとして取得したい場合はint(input())と書く。
input()だとstr型として取得してしまう。

<入力データ>
12345

<記述コード>
str = int(input())
print(str)

<出力データ>
12345 (データ型:int)

1行複数単語(スペース区切り)を取得

<入力データ>
apple orange

<記述コード>
a, b= input().split()
print(a)
print(b)

<出力データ>
apple
orange (データ型:str)

int型データとして取得する場合はmap(int, input().split())と書く。

<入力データ>
123 456

<記述コード>
a, b= map(int, input().split())
print(a)
print(b)

<出力データ>
123
456 (データ型:int)

1行複数単語(スペース区切り)を取得 (リストとして)

<入力データ>
apple 123

<記述コード>
lists = list(input().split())
print(lists)

<出力データ>
['apple', '123'] (各要素のデータ型:str)

各要素をint型データとして取得する場合はlist(map(int, input().split()))と書く。

<入力データ>
123 555

<記述コード>
lists = list(map(int, input().split()))
print(lists)

<出力データ>
[123, 555] (各要素のデータ型:int)

1行目に単語数 n、2〜(n+1)行目1単語を取得

<入力データ>
3
apple
123
orange

<記述コード>
num = int(input())
lists = [input() for i in range(num)]
print(lists)

<出力データ>
['apple', '123', 'orange'] (各要素のデータ型:str)

リストの各要素をint型データとして取得する場合はinput()int(input())と書く。

<入力データ>
3
123
555
777

<記述コード>
num = int(input())
lists = [int(input()) for i in range(num)]
print(lists)

<出力データ>
[123, 555, 777] (各要素のデータ型:int)