mei_13のPython講座 ロゴ

まいにちコード




まいにちコード

本日(2026/01/24)のコード



def process_data(text_input, initial_value):
    total_length = 0
    for char in text_input:
        total_length += 1

    if total_length > 10:
        modified_value = initial_value * 2
    else:
        modified_value = initial_value + 5
    return modified_value

def finalize_output(processed_value):
    if processed_value % 3 == 0:
        result_string = f"Divisible by three: {processed_value}"
    else:
        result_string = f"Not divisible by three: {processed_value}"
    return result_string

sample_string = "hello_world_python_sample"
start_number = 15

intermediate_result = process_data(sample_string, start_number)
final_result = finalize_output(intermediate_result)

print(final_result)

出力を予想してみよう!




解説

解説を見る

このPythonコードは、大きく分けて2つの「機能のかたまり(関数)」と、それらを使って実際に処理を進める「メインの部分」で構成されています。

1. process_data 関数について

  • 何をする関数? この関数は、入力された「テキスト」の長さを調べ、その長さによって「初期の数値」を加工(計算)して返す役割を持っています。

  • 入力(受け取るもの):

    • text_input:調べたい文字列(例:「こんにちは」)
    • initial_value:最初に与えられる数値(例:100)
  • 内部の動き:

    1. まず、total_lengthという変数に0をセットします。これは、文字列の文字数を数えるための「カウンター」の役割をします。
    2. 次に、text_inputに入っている文字列の文字を、先頭から1文字ずつ順番に取り出していきます。
    3. 文字を1つ取り出すたびに、先ほどのカウンターtotal_length1ずつ増やしていきます。これにより、文字列全体の文字数が正確に数えられます。
    4. すべての文字を数え終わったら、total_length(文字列の文字数)が10より大きいかどうかを判断します。
      • もし10より大きければinitial_value(最初に受け取った数値)を2倍にします。
      • そうでなければ(10以下であれば)initial_value5を足します。
    5. このようにして加工された数値(modified_value)を、この関数の「結果」として返します。

2. finalize_output 関数について

  • 何をする関数? この関数は、受け取った「数値」が3で割り切れるかどうかを判定し、その結果に応じたメッセージを作成して返す役割を持っています。

  • 入力(受け取るもの):

    • processed_value:前の関数(process_data)で加工された数値。
  • 内部の動き:

    1. processed_value3で割ったときの「余り」が0かどうかを調べます。
      • %(パーセント記号)は、割り算の「余り」を計算する記号です。例えば、7 % 31になります。余りが0ということは、その数で「割り切れる」という意味です。
    2. もし3で割り切れるならば: 「Divisible by three: [受け取った数値]」という形式のメッセージを作成します。 (例:Divisible by three: 30
    3. そうでなければ(3で割り切れないならば): 「Not divisible by three: [受け取った数値]」という形式のメッセージを作成します。 (例:Not divisible by three: 31
    4. 作成されたメッセージ(result_string)を、この関数の「結果」として返します。

3. プログラムの実行部分(メインの流れ)

この部分では、上で説明した2つの関数を使って、具体的な処理を進めています。

  1. まず、「hello_world_python_sample」という文字列をsample_stringという名前の箱に格納します。
  2. 次に、「15」という数値をstart_numberという名前の箱に格納します。
  3. process_data関数を呼び出します。このとき、text_inputにはsample_string("hello_world_python_sample")が、initial_valueにはstart_number(15)が渡されます。
    • sample_stringの文字数は25文字です。これは10より大きいので、initial_value(15)は2倍されます。
    • 15 × 2 = 30という計算結果がprocess_data関数から返され、intermediate_resultという新しい箱に30が格納されます。
  4. 次に、finalize_output関数を呼び出します。このとき、processed_valueには、先ほどprocess_data関数から返されたintermediate_result(30)が渡されます。
    • 303で割り切れます(30 ÷ 3 = 10、余り0)。
    • したがって、finalize_output関数は「Divisible by three: 30」というメッセージを返します。
    • このメッセージがfinal_resultという箱に格納されます。
  5. 最後に、print()という命令を使って、final_resultに格納されているメッセージを画面に表示します。

まとめ

このプログラムは、指定された文字列の長さに応じて数値を加工し、その加工された数値が3で割り切れるかどうかを最終的に判定して、その結果をメッセージとして表示する一連の処理を行っています。これにより、複雑な処理を小さな機能に分けて(関数として)管理し、それらを組み合わせて使う方法を示しています。