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

Python
スポンサーリンク

上級実践課題:文字列操作スクリプト

では続きとして、「上級:実践課題(実用的な文字列操作スクリプト)」を、
プログラミング初心者でもステップで理解できるように、
3問(+解答・解説付き) 用意します。


実践1:メール文の自動整形

📝 問題

次のような入力文を受け取り、改行・整形してきれいなメール文として出力してください。
入力文:

text = "to:alice@example.com subject:meeting body:let's meet tomorrow at 10am"
Python

出力結果(期待):

To: alice@example.com  
Subject: meeting  
Body: let's meet tomorrow at 10am

✅ 解答

text = "to:alice@example.com subject:meeting body:let's meet tomorrow at 10am"

# 各部分を空白で分割
parts = text.split(" ")

for part in parts:
    # コロンの前後で分割
    key, value = part.split(":")
    # keyを先頭大文字に整形
    print(f"{key.capitalize()}: {value}")
Python

💡 解説

  • .split(" ") → スペースで区切り、各パートを取り出す
  • .split(":")key:value のペアを分ける
  • .capitalize() → 先頭だけ大文字に(toTo
  • f"{key}: {value}" → フォーマット文字列(見やすく出力)

実践2:単語カウントツール

📝 問題

文の中に登場する単語の数を数えるプログラムを作ってください。
入力:

text = "apple banana apple orange banana apple"
Python

出力結果(期待):

apple: 3  
banana: 2  
orange: 1

✅ 解答

text = "apple banana apple orange banana apple"

# 単語を分割
words = text.split()

# 結果を記録する辞書を作成
count = {}

for word in words:
    if word in count:
        count[word] += 1
    else:
        count[word] = 1

# 出力
for k, v in count.items():
    print(f"{k}: {v}")
Python

💡 解説

  • .split() → 空白で単語を分割
  • dict(辞書型)を使って単語の登場回数をカウント
  • count[word] += 1 で出現回数を増やす
  • 最後に for k,v in count.items() で出力

ワンライナー版(短く書くなら)

from collections import Counter
print(Counter(text.split()))
Python

→ 出力:Counter({'apple': 3, 'banana': 2, 'orange': 1})


実践3:検索ツール(部分一致検索)

📝 問題

リスト内の文字列から、キーワード "Python" を含むものだけを表示してください。

入力:

texts = [
    "I love Python programming",
    "JavaScript is fun",
    "Python is powerful",
    "Let's study Go"
]
Python

期待する出力:

I love Python programming  
Python is powerful

✅ 解答

texts = [
    "I love Python programming",
    "JavaScript is fun",
    "Python is powerful",
    "Let's study Go"
]

keyword = "Python"

for text in texts:
    if keyword in text:
        print(text)
Python

💡 解説

  • "Python" in text → 部分一致で検索できる。
  • 条件に合うものだけ出力。
  • 応用すれば、検索機能付きのミニツールやログフィルタも作れる。

まとめ(上級編で学んだこと)

操作使った技説明
文の整形split, capitalize, f文字列テキストを区切って整える
集計dict, Counter, split()単語やデータの出現回数を数える
検索in 構文特定文字列を含むデータを抽出

タイトルとURLをコピーしました