それでは、「文字列の操作方法(結合・分割・検索など)」をテーマに、
レベル別(基礎/中級/上級) の練習問題と、模範解答+詳しい解説をセットで紹介します。
レベル1:基礎(文字列の基本操作)
問題1:文字列の結合
次の2つの変数を結合して、"Hello, World!" と出力してください。
a = "Hello"
b = "World"
Python✅ 解答
a = "Hello"
b = "World"
print(a + ", " + b + "!")
Python💡 解説
- 文字列同士は 「+」演算子でつなげられます。
" "(空白)や","なども文字列なので、間に入れると自然な文章になります。- 出力結果:
Hello, World!
問題2:文字列の繰り返し
文字列 "Python" を3回繰り返して出力してください。
✅ 解答
print("Python" * 3)
Python💡 解説
*(アスタリスク)は 繰り返し演算子。"Python" * 3→"PythonPythonPython"
問題3:文字列の長さを調べる
変数 msg = "Hello Python" の長さを出力してください。
✅ 解答
msg = "Hello Python"
print(len(msg))
Python💡 解説
len()関数で、**文字数(空白も含む)**がわかります。- 出力:
12
レベル2:中級(分割・検索・置き換え)
問題4:文字列を分割する
文字列 "apple,banana,grape" をカンマで分割して、リストとして出力してください。
✅ 解答
text = "apple,banana,grape"
fruits = text.split(",")
print(fruits)
Python💡 解説
.split(区切り文字)は、文字列を分割してリストにします。- 出力:
['apple', 'banana', 'grape']
問題5:特定の文字を探す
text = "I love Python programming" の中で "Python" が含まれているかを調べて、
含まれていれば "Yes", 含まれていなければ "No" と出力してください。
✅ 解答
text = "I love Python programming"
if "Python" in text:
print("Yes")
else:
print("No")
Python💡 解説
"文字列" in textは、部分一致の検索ができます。"Python" in text→ True なので"Yes"を出力。
問題6:文字列の置き換え
text = "I like Java" の "Java" を "Python" に置き換えて出力してください。
✅ 解答
text = "I like Java"
new_text = text.replace("Java", "Python")
print(new_text)
Python💡 解説
.replace(古い文字, 新しい文字)で文字列を置換。- 出力:
I like Python
レベル3:上級(応用操作)
問題7:先頭と末尾の空白を削除
文字列 " Hello Python " の前後の空白を取り除いて出力してください。
✅ 解答
text = " Hello Python "
print(text.strip())
Python💡 解説
.strip()は両端の 空白・改行を削除します。.lstrip()→ 左側だけ、.rstrip()→ 右側だけ。- 出力:
Hello Python
問題8:文字列の一部を抽出(スライス)
text = "Programming" から "gram" という部分だけを取り出して出力してください。
✅ 解答
text = "Programming"
print(text[3:7])
Python💡 解説
text[start:end]で 部分文字列(スライス) を取得。- インデックスは 0 から始まる。
P(0) r(1) o(2) g(3) r(4) a(5) m(6) m(7)
→text[3:7]="gram"
問題9:すべての単語の先頭を大文字にする
text = "python is fun" を "Python Is Fun" に変換してください。
✅ 解答
text = "python is fun"
print(text.title())
Python💡 解説
.title()は 単語ごとの先頭を大文字にします。- 出力:
Python Is Fun
問題10:大文字・小文字の変換
文字列 "PyThOn" を全部小文字/全部大文字に変換して、それぞれ出力してください。
✅ 解答
text = "PyThOn"
print(text.lower()) # 全部小文字
print(text.upper()) # 全部大文字
Python💡 解説
.lower()→ 小文字化.upper()→ 大文字化- 出力:
python PYTHON
まとめ
| 操作名 | メソッド・構文 | 例 |
|---|---|---|
| 結合 | + | "A" + "B" → "AB" |
| 繰り返し | * | "A"*3 → "AAA" |
| 文字数 | len() | len("abc") → 3 |
| 分割 | .split(",") | "a,b".split(",") → ['a','b'] |
| 検索 | "x" in text | "cat" in "catalog" → True |
| 置換 | .replace("a","b") | "apple".replace("a","b") → "bpple" |
| 空白除去 | .strip() | " hi ".strip() → "hi" |
| スライス | [start:end] | "abcde"[1:4] → "bcd" |
| 大文字変換 | .upper() | "hi".upper() → "HI" |
| タイトル化 | .title() | "hi there".title() → "Hi There" |
