Python.use(better) #factorial: step02 -- if not n>1:

記事一覧

Python.use(better)
factorial: step02 -- if not n>1:

《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

事例:モジュールを起動する

■ 全項目を確認する

全ステップの「項目」を確認するには、関数 do を利用します。

$ python factorial.py
>>> do()
0: step00 -- while n>1:
1: step01 -- for e in range(n,1,-1):
2: step02 -- if not n>1:
3: step03 -- reduce
>>>
■ 各項目を実行する

各ステップの「動作」を確認するには、関数 do に実引数を指定します。

>>> do(2)
>>> # -------------------------------------------------- step02
>>> fact(0)
1
>>> fact(1)
1
>>> fact(2)
2
>>> fact(3)
6
>>> fact(4)
24
>>> fact(5)
120
>>>
  • 0 から 5 までの階乗が得られます。

事例:コードの解説

    def fact(n):     # recursive function
        if not n>1: return 1       #1:
        return n*fact(n-1)

■ #1: if 文
        if not n>1: return 1       #1:

if 文を利用すると、

  • if に続く条件式 not n>1 を満たすときだけ、
  • if ブロックにある、コードの断片を実行します。

《Tips》step01: for 文と違って、変数 acc の値を更新する方法(how)を再帰呼び出し fact に代えたので、簡潔で見通しの良いコードを記述できます。

》こちらに移動中です《
TOP


関連記事

Last updated♪2009/10/22