python3の入力を受け付ける方法について

input関数を使つかえば、改行までの文字列を受け取ることができます。

文字列Hello worldをstring型で受け取るには


# sに"Hello world"
s = input()
		

のように書きます。

int型やfloat型で入力を受け取る

20などの文字列を数値で受け取りたい場合は、input関数に対象の型でcastすることで対応できます。


# 20を数値としてうけとる
num = int(input())
# 20.5をfloatで受け取る
num = float(input())
		

入力文字列を特定の条件で区切って受け取りたい場合

例えば、"10 20 30"
など、空白で文字列が区切られており、それぞれを整数型として受け取りたい場合は、
input().split()関数を使います。

split関数は、defaultで空白を区切ることになっているので、
"10 20 30"をそれぞれa,b,cという変数に代入したい場合は以下のように書きます。


# aに10,bに20,cに30が代入される
a,b,c = (int(_) for _ in input().split())
		

入力文字列が","で区切られていた場合は、以下のように書きます。


a,b,c = (int(_) for _ in input().split(","))
		

区切られた文字列を配列として受け取る

区切られた文字列を配列として受け取る場合も、同じくsplit関数を使います。

下記は"ab cd ef"と入力された文字列をそれぞれ、list型に保存する例です。


#入力値が"ab cd ef"
s = list(_ for _ in input().split())
# ['ab', 'cd', 'ef']
print(s)
		
このエントリーをはてなブックマークに追加