Python | レベル別練習問題:文字列

Python
スポンサーリンク

では、「文字列(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

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました