Python.use(better) #factorial: step01 -- for e in range(n,1,-1):

記事一覧

Python.use(better)
factorial: step01 -- for e in range(n,1,-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(1)
>>> # -------------------------------------------------- step01
>>> fact(0)
1
>>> fact(1)
1
>>> fact(2)
2
>>> fact(3)
6
>>> fact(4)
24
>>> fact(5)
120
>>>
  • 0 から 5 までの階乗が得られます。

事例:コードの解説

    def fact(n):
        acc = 1
        for e in range(n,1,-1):      #1:
            acc *= e
        return acc

■ #1: for 文
        for e in range(n,1,-1):      #1:

for 文を利用すると、

  • in に続くシーケンス range(n,1,-1) の各要素 e を順に参照しながら、
  • for ブロックにある、コードの断片を実行します。

《Tips》step00: while 文と違って、変数 n の値を更新する方法(how)をシーケンス range(n,1,-1) 内に封じ込めるので、情報隠蔽の原則に沿ったコードを記述できます。

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


関連記事

Last updated♪2009/10/22