Python.use(better) #課題:素数《関数版》

記事一覧subject
Python.use(better)《復刻版》

課題:素数《関数版》

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

課題を作成する過程を通して「数値演算」の理解を深めます。
※ Python1.5 で作成した例題を、Python3.1 で再構成しました。

episode
2002-07-22 Python.use(better) #prime: step00x -- def prime(n):
変数 r は、関数のリターン値(真理値)を保持します。ここではまだ何もせず、単に False をリターン値にします。
2002-07-23 Python.use(better) #prime: step01x -- if not n%e: break
モジュール math を利用するには、from/import 文を利用します。if に続く条件式を満たすときには、そこで for ブロックの処理を中断します。すべての要素に対して for ブロックを実行した後で、else ブロック内のコードを実行します。
2002-07-24 Python.use(better) #prime: step02 -- if n<2: return r
if に続く条件式を満たすときには、変数 r の値をリターン値にします。変数 n の値が 2 未満なら、素数ではないので、False をリターン値にします。
2002-07-25 Python.use(better) #prime: step03 -- def prime(n):
if に続く条件式 isPrime(e) を満たすときには、リスト s の末尾に要素 e を追加 append します。
2002-07-26 Python.use(better) #prime: step04 -- all/any
組み込み関数 all は、すべての要素が条件式を満たすかどうか(余りが 0 でない)を判定して、その結果をリターン値にします。これと同等のものは、組み込み関数 any を利用しても実現できます。
2002-07-29 Python.use(better) #prime: step05 -- def filter(seq):
while に続く条件式を満たすかぎりは、while ブロックにあるコードの断片を実行します。while に続く条件式を満たさなくなると、else ブロックにあるコードの断片を実行します。if に続く条件式を満たすときには、そこで for ブロックの処理を中断します。すべての要素に対して for ブロックを実行した後で、else ブロック内のコードを実行します。
2002-07-30 Python.use(better) #prime: step06 -- [e for e in rest if e%first
if に続く条件式を満たす要素を列挙した、リストが得られます。篩(ふるい)には、その倍数でない要素だけが残ります。
□□□□□□
>>> print(prime(30))
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]

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


関連記事

Last updated♪2009/11/26