英語の単語の大文字と小文字を入れ替えるPythonプログラム
英字で構成された文字列が与えられたとき、その文字列に含まれるすべての文字の大文字・小文字を入れ替える必要があります。つまり、大文字は小文字へ、小文字は大文字へと変換します。
例えば、入力が s = "PrograMMinG" の場合、期待される出力は pROGRAmmINg となります。
解法のアプローチ
この問題を解くためには、以下の手順に従います。
- 結果を格納するための空の文字列
retを用意します。 - 入力文字列
sの各文字について、次の処理を行います。- その文字が大文字であれば、小文字に変換したものを
retに連結します。 - そうでなければ(小文字であれば)、大文字に変換したものを
retに連結します。
- その文字が大文字であれば、小文字に変換したものを
- すべての文字を処理し終えたら、
retを返します。
実装例
理解を深めるために、以下の実装例を見てみましょう。
def solve(s):
ret = ''
for letter in s:
if letter.isupper():
ret += letter.lower()
else:
ret += letter.upper()
return ret
s = "PrograMMinG"
print(solve(s))
入力
"PrograMMinG"
出力
pROGRAmmINg
補足:swapcase() メソッドを使った簡潔な方法
Pythonには、この処理を1行で実現できる組み込みメソッド swapcase() が用意されています。自前でループを書かずとも、次のように記述するだけで同じ結果が得られます。
s = "PrograMMinG" print(s.swapcase()) # 出力: pROGRAmmINg
swapcase() は元の文字列を変更せず、大文字・小文字を入れ替えた新しい文字列を返します。実際の開発ではこちらを使う方が簡潔で読みやすいコードになりますが、アルゴリズムの学習目的であれば、上記のような手動での実装も良い練習になります。
-
文字列内の単語の出現回数をカウントするPythonプログラムの作成方法
この記事では、ユーザーから入力された文字列の中に、指定した単語が何回出現するかをカウントし、その結果を出力するPythonプログラムを紹介します。文字列操作の基礎を学ぶのに最適な題材です。 実行例 入力:Python is an interpreted high-level programming language for general purpose programming. カウントする単語:programming 出力:2 上記の例では、「programming」という単語が文中に2回出現しているため、出力は「2」となります。 アルゴリズム wordoccurences(n, p
-
Pythonで文中の単語をアスタリスク(伏せ字)に置き換える方法
プログラムを活用すると、文章に含まれる特定の単語をアスタリスク(*)に置き換えることで、暴力的な表現や不適切な言葉などを簡単に伏せ字にすることができます。処理のイメージたとえば、次のような文章があったとします。Go feed all the ducks in the lakeここで「ducks」という単語をアスタリスクに置き換えたい場合、最終的な出力は次のようになります。Go feed all the ***** in the lakereplace関数を使った実装この機能は、Pythonの文字列メソッドである replace() を使うことでシンプルに実現できます。ポイントは、置き換え後のア