【ABC051 A】「Haiku」を解く【Python3】

abc051a

「AtCoder」解説一覧へ

長さ19の文字列sを受け取り、カンマをスペースに変換して返す問題です。

文字列(str型)は input() で受け取ることができます。

s = input()

カンマをスペースに変換する方法を3つ紹介します。

  • 特定の文字を変換する:replace()
  • スライスを使う:str[]
  • 文字列を分割・結合する:split(),join()

特定の文字を変換する:replace()

提出
s = input()
s = s.replace(","," ")

print(s)

replace()メソッドを用いて、文字列を変換します。

変換した文字列sをそのまま出力します。

replace()メソッド

replace()メソッドは、特定の文字のみの変換を行います。

str.replace("変換前の文字","変換後の文字")

以下のようにまとめて書くこともできます。

提出
print(input().replace(",", " "))

スライスを使う:str[]

提出
s = input()
print(s[:5] + " " + s[6:13] + " " + s[14:])

スライスを使って、文字列の一部を取得し、それらを繋げます。

取得する範囲の指定に注意が必要です。

スライス機能

スライスを用いてインデックスを指定すると、特定の範囲の文字列を取得することができます。

インデックスは0から始まることに注意です。

開始インデックスから終了インデックスの一つ前まで取得します。

s = "atcoder"
print(s[2:5])
# > "cod"

文字列を分割・結合する:split(),join()

提出
s = input()
l = s.split(",")
ans = " ".join(l)
print(ans)

split()メソッドを用いて文字列を分割し、joinメソッドで1つの文字列に結合しなおします。

分割するときは「,」を結合するときは空白(スペース)を指定します。

split()メソッド

split()メソッドは、区切り文字を指定して、文字列を分割します。

区切り文字を指定しない場合、空白、タブ、改行で分割されます。

str.split("区切り文字")

join()メソッド

join()メソッドは、リストを一つの文字列に結合します。

"間に挿入する文字列".join([結合するリスト])

【ABC051】解説記事

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です