入力された 10 個の文字列を出力
#入力値
S_1
S_2
S_3
...
S_10
入力値最終行の末尾に改行が1つ入ります。
#出力値
答えの文字列を 1 行で出力してください。
S_1 S_2 S_3 ... S_10
末尾に改行を入れ、余計な文字、空行を含んではいけません。
#コード
strings = []
for i in range(10):
strings.append(input())
for i in range(10):
if i != 9:
print(strings[i], end=" ")
else:
print(strings[i])
- 入力は 10 行だと分かっているので、解答コードの 1 ~ 3 行のようにして文字列を受け取ります。
- 解答コードの 3 行目に書かれている
append
メソッドはリストに要素を追加するメソッドです。 - リスト
strings
への要素の追加が終わったら出力します。 - 出力の際は for 文を利用して処理します。
- リストのインデックスが
i
の要素を取得するには、list[i]
のようにします。 - 出力の注意点としては、最後の要素のときは末尾に改行を、それ以外のときは末尾に半角スペースを出力することが挙げられます。
または
strings = [input() for _ in range(10)]
for i in range(10):
if i != 9:
print(strings[i], end=" ")
else:
print(strings[i])
- リスト内包表記、という記法を用いて入力を受け取っています。
strings = [input() for _ in range(10)]
がリスト内包表記を用いている箇所です。以下で少し説明します。- リスト内包表記は for 文を用いてリストを生成する記法です。
- どのようなリストが生成されるかは次の通りです。
li = [ここの値がリストの要素になる for 文]
- よって、
strings = [input() for _ in range(10)]
はinput()
が 10 回繰り返されるので、生成されるリストは[入力 1 行目, 入力 2 行目, ..., 入力 10 行目]
となります。
- また、入力値を整数型のリストで受け取りたいときも内包表記は便利です。
- たとえば、半角スペースで区切られた 1 行の入力を半角スペースで区切って整数型に変換した値を各要素とするリストを生成したいとき、つまり、
1 2 3 4 5
の入力を[1 2 3 4 5]
のリストとして受けたいとき、次のように記述します。li = [int(x) for x in input().split()]
- 以下で少し説明します。
- 入力は
1 2 3 4 5
とします。 - まず、
input().split()
で["1", "2", "3", "4", "5"]
を生成します。 - for 文でこのリストの要素を先頭から順に取得して、x に代入します。
- そして、
int(x)
で x を整数に変換します。この値がリストの各要素となります。 - 以上より、
[int(x) for x in input().split()]
で生成されるリストは[1 2 3 4 5]
です。
- 入力は