PaizaやAtcoderの問題をやる上で、入力値の読み込みをしなければなりません。
さて、入力値を受け取るには
input_value = input()
#input_valueに入力値を代入
というように書きますが、私がつまづいてしまったポイントがあります。
それは、一行に空白(スペース)で区切られた値が入力されることです。C言語などを扱う方ならご存知かと思いますが、scanf()
は空白や改行で入力が終わるので、入力をEOF(End of file)までとすればよいです(と記憶しています)。しかし、Pythonにおいての入力input()
は一行を読み込むようなので私の知識では空白で区切られた入力値は読み込めませんでした。
私のようにこのポイントでつまずく方へ、私が普段書いている一例をご紹介できればと思います。
~int型の入力値が空白区切りで入力される時~
input_value = list(map(int,input().split()))
これでinput_value
にリスト(配列)として数値が代入されます。
str型で代入したい時は、list(map(str,input().split()))
のように変更して利用できます。
~int型の2つの入力値が空白区切りで入力される時~
a,b = map(int,input().split())
これで、aとbそれぞれに数値が代入されます。
私はまだmap
であったり、list
のようなオブジェクト(オブジェクトと関数の違いはまだわかっていません。勉学に励みます。)をはっきりと理解はしていませんが、ひとまずある程度の入力値は受け取ることができています。いまのところ。
もしこの記事に間違いや指摘したいこと、加えたいことがあれば遠慮なく言っていただけると嬉しいです。
初学者のみなさん、一緒にがんばりましょう。