Paiza 値取得・出力サンプルコード解説(Python3編)

Paizaのスキルチェックでは、必ずと言っていいほど、値を取得して、出力する作業があります。

今回は、そのサンプルコードがあったので、その解説をしようと思います。

サンプルコード

こちらがサンプルコードになります。

input_line = int(input())
for i in range(input_line):
    s = input().rstrip().split(' ')
    print("hello = "+s[0]+" , world = "+s[1])

解説

1行目ですが、input()関数を使うことで、標準入力を取得します。intがあるので整数型で取得して、変数input_lineに代入しています。

次にfor文で標準入力で取得した変数input_lineの値の回数分だけ繰り返し処理をします。

3行目の変数sは、次に標準入力される文字列を取得します。split関数で文字列をスペースで分割します。また、rstrip関数で改行を消去しています。

split関数は、()の中に文字を入れることで、その文字で分割することが可能です。

最後にリストsを標準出力しています。

ここで、リストsの要素が1つだけ(文字列にスペースがなかった場合)エラーが返されます。

print("hello = "+s[0]+" , world = "+s[1])
IndexError: list index out of range

標準出力をしなければエラーは出ません。

正直、このサンプルコードでは、変数iを使用していないので、for文を使う必要があるのかと疑問があります。

ですが、実際の問題では、繰り返し処理の中で計算処理などをすると思われますので、変数iを使うことになると思います。

このサンプルコードでは、1行目に標準出力される回数を整数として出力されて、

その後、スペースを1つ含んだ文字列が1行目に標準出力される回数分だけ出力されることを仮定したサンプルコードです。

まとめ

Paizaの値取得・出力サンプルコードの解説をしてみました。

今回のサンプルコードは、説明した通り、最初に出力回数、次にスペースを含んだ文字列が出力されるような問題の場合のみ有効です。

ですので、問題によってサンプルコードを変更する必要があり、能力が問われるかと思います。

変更する上で何をやっているのかという理解は必須になるでしょう。