Pythonで組み込み関数を使わずに2つの文字列を比較し、より長い方の文字列を表示する方法
組み込み関数を一切使用せずに2つの文字列を受け取り、より長い方の文字列を表示する場合、カウンター変数を使って各文字列の長さを求め、if条件文でその長さを比較する方法が有効です。
len()のような組み込み関数に頼らずとも、forループで文字列を1文字ずつ走査してカウントを増やすことで、手動で長さを計算できます。以下に具体的な実装例を示します。
サンプルコード
string_1 = "Hi there"
string_2 = "Hi how are ya"
print("The first string is :")
print(string_1)
print("The second string is :")
print(string_2)
count_1 = 0
count_2 = 0
for i in string_1:
count_1 = count_1 + 1
for j in string_2:
count_2 = count_2 + 1
if(count_1 < count_2):
print("The larger string is :")
print(string_2)
elif(count_1 == count_2):
print("Both the strings are equal in length")
else:
print("The larger string is :")
print(string_1)実行結果
The first string is : Hi there The second string is : Hi how are ya The larger string is : Hi how are ya
処理の流れと解説
まず、2つの文字列を定義し、それぞれの内容をコンソールに表示します。
次に、文字数を数えるためのカウンター変数を2つ用意し、どちらも0で初期化します。
1つ目の文字列をforループで反復処理し、1文字読み取るごとにカウンターを+1することで、文字列の長さを求めます。
同様の手順を2つ目の文字列にも適用し、その長さを取得します。
取得した2つのカウント値(文字列の長さ)をif・elif・else構造で相互に比較します。
比較結果に応じて、より長い文字列、または「両者の長さが等しい」旨のメッセージをコンソールに出力します。
この手法は、組み込み関数の使用が制限された学習課題や、文字列の走査とカウンターの仕組みを理解したい初心者にとって、非常に良い練習になります。なお、実際の開発現場では簡潔に書けるlen()関数を使うのが一般的です。
-
組み込み関数を使わずに大文字・小文字をカウントするPythonプログラム
この記事では、文字列に含まれる大文字と小文字の数を数える問題を、組み込みの文字判定メソッドに頼らずに解くための考え方と実装方法を解説します。 問題の概要 文字列が入力として与えられたとき、その中に含まれる大文字の数と小文字の数をそれぞれ求める必要があります。 ここでは、isupper() や islower() のような文字判定メソッドは使わず、組み込み関数 ord() を利用して各文字のASCII値を調べることで判定を行います。 ASCII値による判定の考え方 ASCIIコードでは、英字は次のような範囲に割り当てられています。 小文字(a〜z):97〜122 大文字(A〜Z):65〜90
-
【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つの関数