Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで文字列内の単語数と文字数をカウントする方法【初心者向け解説】

プログラミングでは、文字列に含まれる単語数文字数を計算したい場面がよくあります。例えば、文章の文字数制限チェックやテキスト解析などがその代表例です。

ここでは、Pythonを使って文字列内の単語数と文字数を求める基本的な方法を紹介します。

サンプルコード

my_string = "Hi there, how are you Will ? "
print("The string is :")
print(my_string)
my_chars=0
my_words=1
for i in my_string:
    my_chars=my_chars+1
    if(i==' '):
        my_words=my_words+1
print("The number of words in the string are :")
print(my_words)
print("The number of characters in the string are :")
print(my_chars)

実行結果

The string is :
Hi there, how are you Will ?
The number of words in the string are :
8
The number of characters in the string are :
29

コードの解説

  • まず、対象となる文字列を定義し、コンソールに表示します。

  • 文字数を数えるためのカウンター変数 my_chars0 で初期化します。

  • 単語数を数えるためのカウンター変数 my_words1 で初期化します。これは「最後の単語の後には空白がない」ことを考慮した初期値です。

  • forループで文字列を1文字ずつ走査し、そのたびに my_chars を1ずつ増やしていきます。

  • 走査中に空白(スペース)を見つけた場合は、my_words も1増やします。空白の数+1が単語数になる仕組みです。

  • 最後に、計算された単語数と文字数をコンソールに出力します。

より簡単な方法:組み込み関数を使う

上記のようなループ処理を書かなくても、Pythonの組み込み関数を使えば同じ結果を短いコードで得られます。

my_string = "Hi there, how are you Will ? "
char_count = len(my_string)          # 文字数を取得
word_count = len(my_string.split())  # 単語数を取得
print("文字数:", char_count)
print("単語数:", word_count)

len() 関数は文字列全体の長さ(空白も含む)を返し、split() メソッドは文字列を空白で分割してリスト化するため、その要素数が単語数になります。実務ではこちらの方法がシンプルで推奨されます。

  1. セットを使って文字列内の母音の数をカウントするPythonプログラム

    本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe

  2. Pythonでアナグラム単語の最大サブセットのサイズを求める方法

    はじめに 小文字からなる文字列の配列が与えられたとき、互いにアナグラムの関係にある文字列からなる「最大のサブセット」のサイズを求めるのが本記事の課題です。アナグラムとは、ある文字列が別の文字列の並べ替え(文字の順番の入れ替え)によって作られる関係のことです。たとえば、「python」と「typhon」はアナグラムの関係にあります。 Pythonでは、collectionsモジュールのCounter()メソッドを活用することで、この問題をシンプルかつ効率的に解くことができます。 アルゴリズムの手順 入力文字列をスペースで区切り、単語ごとに分割します。 文字列リスト内の各文字列をソートします。