トップページ>まいにちコード
まいにちコード
本日(2025/06/29)のコード
def func1(n):
s = 0
for i in range(1, n + 1):
s += i
return s
def func2(n):
if n > 10:
return func1(n - 5)
else:
return func1(n + 5)
print(func2(8))
出力を予想してみよう!
解説
解説を見る
このコードは、func1
とfunc2
という2つの関数を定義し、func2
を特定の引数で呼び出した結果をprint
関数で表示するものです。
1. func1(n)
関数の解説:
- 概要: この関数は、1から
n
までの整数の合計を計算して返します。 - 引数:
n
は整数です。合計を計算する上限の値を指定します。 - 処理:
s = 0
: 変数s
を初期化します。s
は合計を格納するために使われます。初期値は0です。for i in range(1, n + 1):
:for
ループを使って、1からn
までのすべての整数に対して繰り返し処理を行います。range(1, n + 1)
は 1, 2, 3, ..., n という整数のシーケンスを生成します。i
はループの中で、このシーケンスの各値を順番に取ります。s += i
: ループの中で、現在の数i
をs
に加算します。これはs = s + i
と同じ意味です。つまり、s
はループが繰り返されるたびに、それまでの合計にi
を加えた値で更新されていきます。return s
: ループが終了したら、s
(1からn
までの整数の合計) を返します。
2. func2(n)
関数の解説:
- 概要: この関数は、
n
の値に基づいてfunc1
を異なる引数で呼び出し、その結果を返します。 - 引数:
n
は整数です。 - 処理:
if n > 10:
:n
が 10 より大きいかどうかをチェックします。return func1(n - 5)
:n
が 10 より大きい場合、func1
をn - 5
を引数として呼び出し、その結果を返します。
else:
:n
が 10 以下の場合に実行されます。return func1(n + 5)
:func1
をn + 5
を引数として呼び出し、その結果を返します。
3. print(func2(8))
の解説:
func2(8)
:func2
関数を引数8で呼び出します。func2(8)
の実行:n
は8なので、if n > 10:
の条件は偽となり、else
ブロックが実行されます。func1(n + 5)
、つまりfunc1(8 + 5)
、すなわちfunc1(13)
が呼び出されます。
func1(13)
の実行:func1
は 1から13までの整数の合計を計算します。これは 1 + 2 + 3 + ... + 13 = 91 です。
func2(8)
はfunc1(13)
の結果である 91 を返します。print(91)
:print
関数は、func2(8)
の戻り値である 91 を標準出力 (通常はコンソール) に表示します。
まとめ:
このコードは、条件分岐と関数の組み合わせによって、1から指定された値までの整数の合計を計算し、その結果を表示するプログラムです。 func2
は、入力値 n
に応じて func1
に渡す引数を調整し、結果を間接的に返します。