では、「文字列(string)」について、
基礎・中級・上級(応用) の3レベルで、
それぞれ 5問ずつ(合計15問) の練習問題を作ります。
各問題には
✅ 問題文 → 💡 ヒント → 🧩 解答 → 🗝️ 解説
の順でつけています。
基礎レベル(初歩)
問1:文字列を出力しよう
✅ 問題:"Hello, Python!" という文字列を画面に出力してください。
💡ヒント:print() を使います。
🧩解答:
print("Hello, Python!")
Python🗝️解説:print() はPythonで画面に文字を出す関数です。
文字列は "..." または '...' で囲みます。
問2:文字列を変数に入れて出力
✅ 問題:文字列 "Python入門" を変数 title に入れて表示してください。
🧩解答:
title = "Python入門"
print(title)
Python🗝️解説:
変数に代入してから出力すると、あとで再利用できます。title は好きな名前でOK。
問3:文字列を連結しよう
✅ 問題:"こんにちは、" と "太郎さん" を結合して出力してください。
💡ヒント:+ で文字列をつなげます。
🧩解答:
print("こんにちは、" + "太郎さん")
Python🗝️解説:+ は文字列をつなげる演算子です。
変数でも使えます:"Hello, " + name
問4:数値を文字列にして結合
✅ 問題:年齢 age = 25 を使って "私は25歳です" と表示してください。
💡ヒント:str() で数値を文字列に変換。
🧩解答:
age = 25
print("私は" + str(age) + "歳です")
Python🗝️解説:
数値と文字列は直接 + で結合できません。
数値は str() で文字列に変換してから使います。
問5:文字列の長さを求めよう
✅ 問題:word = "Python" の長さを調べて表示してください。
🧩解答:
word = "Python"
print(len(word))
Python🗝️解説:len() は「length(長さ)」の略。
文字数を整数で返します。
中級レベル(少し実践的)
問6:文字列の一部を取り出す
✅ 問題:text = "Hello, Python" から "Python" だけ取り出して表示してください。
💡ヒント:text[7:] のようにスライスを使います。
🧩解答:
text = "Hello, Python"
print(text[7:])
Python🗝️解説:text[start:end] は指定した範囲の文字列を取り出します。end を省略すると「最後まで」になります。
問7:大文字・小文字変換
✅ 問題:"hello world" を "HELLO WORLD" に変換して表示してください。
🧩解答:
s = "hello world"
print(s.upper())
Python🗝️解説:.upper() は大文字化、.lower() は小文字化します。
問8:空白を取り除く
✅ 問題:" Python " の前後の空白を削除して表示してください。
🧩解答:
s = " Python "
print(s.strip())
Python🗝️解説:.strip() は前後の空白・改行を削除します。
中央の空白は削除しません。
問9:部分一致を調べる
✅ 問題:text = "I love Python" に "Python" が含まれているか判定して、
含まれていれば "見つかりました" を表示してください。
🧩解答:
text = "I love Python"
if "Python" in text:
print("見つかりました")
Python🗝️解説:"文字列" in text は部分一致判定です。True / False を返します。
問10:単語を区切ってリストにする
✅ 問題:"apple,banana,cherry" を , で区切り、リストにしてください。
🧩解答:
fruits = "apple,banana,cherry".split(",")
print(fruits)
Python🗝️解説:.split(sep) は区切り文字で分割し、リストを返します。join() と逆の働きをします。
上級(応用・実践レベル)
問11:メールアドレスからドメインを取り出す
✅ 問題:email = "taro@example.com" から "example.com" だけを取り出して表示してください。
🧩解答:
email = "taro@example.com"
domain = email.split("@")[1]
print(domain)
Python🗝️解説:split("@") → ["taro", "example.com"]
リストの [1] 番目を取得します。
問12:f-stringで文字列を整形
✅ 問題:変数 name = "Ken" と score = 95 を使って
「Kenさんの点数は95点です」と表示してください。
🧩解答:
name = "Ken"
score = 95
print(f"{name}さんの点数は{score}点です")
Python🗝️解説:f"..." の中に {} で変数を埋め込めます。
シンプルで読みやすい書き方です。
問13:単語の出現回数を調べる
✅ 問題:sentence = "apple banana apple grape apple"
に "apple" が何回出てくるか数えてください。
🧩解答:
sentence = "apple banana apple grape apple"
print(sentence.count("apple"))
Python🗝️解説:.count(sub) は指定文字列の出現回数を返します。
問14:複数の単語を並べ替えて1つの文字列に
✅ 問題:リスト ["I", "like", "Python"] を " "(スペース)でつなげて表示してください。
🧩解答:
words = ["I", "like", "Python"]
print(" ".join(words))
Python🗝️解説:"区切り文字".join(リスト) で連結します。join() はリストを文字列に戻すメソッドです。
問15:文中の特定の単語を置き換える
✅ 問題:"I like Java" の "Java" を "Python" に置き換えて表示してください。
🧩解答:
s = "I like Java"
print(s.replace("Java", "Python"))
Python🗝️解説:.replace(old, new) は、対象文字列を新しい文字に置き換えた新しい文字列を返します。
まとめ
| レベル | 主な内容 | キーポイント |
|---|---|---|
| 基礎 | 出力・結合・長さ | "...", print(), len() |
| 中級 | スライス・検索・変換 | .upper(), .strip(), in, .split() |
| 上級 | 応用処理 | .count(), .join(), .replace(), f-string |
