【Python】文字列に含まれる英字と数字の個数をカウントする方法
はじめに
文字列が与えられたとき、その中に含まれる「英字」と「数字」の合計数を計算したい場面はよくあります。この記事では、Pythonを使って文字列内の英字数と数字数をカウントするシンプルな方法を解説します。
実行例
入力:
s = "tutorialsP0int"
出力:
Letters: 13 Digits: 1
説明:
この文字列には英字が13個、数字が1個含まれています。
解決のアプローチ
文字列内の英字と数字の合計数を求めるには、まず文字列全体を先頭から順に走査(イテレート)します。走査中にアルファベットを見つけたら英字のカウントを1増やし、数字を見つけたら数字のカウントを1増やします。
- 入力文字列を受け取ります。
- 文字列を1文字ずつ走査し、数字であれば数字カウントを+1、英字であれば英字カウントを+1します。
- 最後に、英字と数字のカウントを出力として返します。
サンプルコード
str = "tutorialsP0int"
digit = letter = 0
for ch in str:
if ch.isdigit():
digit = digit + 1
elif ch.isalpha():
letter = letter + 1
else:
pass
print("Letters:", letter)
print("Digits:", digit)
ここで使用している isdigit() は、その文字が数字(0〜9)であるかどうかを判定するメソッドです。同様に isalpha() は、その文字がアルファベットであるかどうかを判定します。どちらにも該当しない記号や空白などは pass によってスキップされ、カウント対象外となります。
実行結果
上記のコードを実行すると、次のような出力が得られます。
Letters: 13 Digits: 1
-
セットを使って文字列内の母音の数をカウントするPythonプログラム
本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe
-
Pythonのsetを使って文字列内の母音の数をカウントする方法
この記事では、ユーザーが入力した文字列に含まれる母音の数をカウントするPythonプログラムを紹介します。母音の判定にはset(セット)を使用します。setとは、順序を持たないコレクション型のデータ構造です。反復処理が可能で、要素の追加や削除による変更もできますが、重複した要素は保持されません。さらに、setは内部的にハッシュテーブルで実装されているため、特定の要素が含まれているかどうかの判定(in演算子)を高速に行えるという大きな特徴があります。実行例 入力 : str1 = pythonprogram 出力 : 3 アルゴリズム ステップ1: 母音を数えるためのカウンター変数を用意します。