Pythonでライブラリ関数を使わずに文字列の長さを計算するプログラム
Pythonでは、len()のような組み込み関数やライブラリメソッドに頼らなくても、文字列の長さを計算できます。基本的な考え方はシンプルで、「カウンタ変数」を用意し、文字列内の各要素(文字)に出会うたびにカウントを1ずつ増やしていくというものです。
以下に具体的な実装例を示します。
サンプルコード
my_string = "Hi Will"
print("The string is :")
print(my_string)
my_counter = 0
for i in my_string:
my_counter = my_counter + 1
print("The length of the string is ")
print(my_counter)
実行結果
The string is : Hi Will The length of the string is 7
コードの解説
まず、長さを測りたい文字列を定義し、コンソールに表示します。
次に、文字数を数えるためのカウンタ変数を0で初期化します。
for文を使って文字列を先頭から順番に走査し、1文字処理するたびにカウンタを1ずつ加算していきます。
ループが終了した時点でのカウンタの値が文字列の長さになるため、その値をコンソールに出力します。
別のアプローチ:while文とインデックスを活用する方法
for文の代わりに、while文とインデックスを組み合わせる方法もあります。これは、存在しないインデックスにアクセスした際に発生する IndexError を利用してループを終了させるテクニックです。
my_string = "Hi Will"
my_counter = 0
try:
while True:
_ = my_string[my_counter]
my_counter += 1
except IndexError:
pass
print(my_counter) # 結果:7
どちらの方法でも、ライブラリ関数を使わずに文字列の長さを正しく取得できます。アルゴリズムの基礎を学ぶ上でも、こうした手動でのカウント処理は良い練習になります。
-
文字列の中から偶数の長さの単語を出力するPythonプログラム
本記事では、与えられた問題を解決するための考え方と実装方法について解説します。Pythonの基本的な文字列操作を組み合わせることで、初心者の方でも簡単に実装できる内容となっています。 問題文 文字列が与えられたとき、その中に含まれる単語のうち、文字数が偶数であるものをすべて画面に表示するプログラムを作成します。 例えば、「tutorial point」という文字列が入力された場合、「tutorial」は8文字(偶数)なので出力され、「point」は5文字(奇数)なので出力されません。 解決のアプローチ この問題は、以下の手順で解決できます。 split()関数を使って、入力文字列を空白区切り
-
【Python】ループを使わずに数列を出力する方法:再帰呼び出しを活用した実装
はじめに 本記事では、以下の問題に対する解決策について詳しく解説します。 問題の概要 2つの整数 N と K が与えられたとき、N が 0 より大きい間は N から K を引き続けます。そして N が 0 以下になったら、今度は元の値 N に戻るまで K を足していきます。 入力例 N = 10 K = 4 出力例 10 6 2 -2 2 6 10 アルゴリズムの考え方 N が 0 より大きい間、関数を再帰的に呼び出し続けます(各呼び出しごとに N から K を減算します)。 数値が 0 以下になったら、元の値に戻るまで各呼び出しごとに K を加算します。 加算と減算は同じ1つの関数