教科書にも例がありますが,ここでは max() 関数を使用して,ランダムに発生させた10個の乱数の最大値を表示するプログラムを関数を利用して作りましょう.乱数は2桁の正の整数とします.
58 12 85 86 30 15 78 89 27 69 Maximum number: 89 |
引数にリストを与えるのは教科書 p.254 にあります.解答例
今度は同じような乱数があるとき,最大値と最小値の両方を返すプログラムとしましょう.
32 65 34 32 91 66 23 96 50 64 Maximum number: 96 Minimum number: 23 |
解答例1
初項と漸化式が以下で与えられる等比数列があるとき,第 n 項を答えるプログラムを再帰を利用して作成してみましょう.ここで,n は10から20までの整数を乱数により発生させるものとします.
a1 = 2.5
an = 1.5 an-1
a_20 = 5542.0945501327515 |
解答例
昨年度のプログラミング入門 I で行った円周率の計算のプログラムにおいて,素数を探す部分を関数にしたものに変更してみましょう.
2: 2.8284271247461903 3: 3.0 5: 3.0618621784789726 7: 3.0935921676911455 11: 3.106455392270532 13: 3.1156870779784582 17: 3.1210915695996455 以下,略 |
やり方はいろいろあると思いますが,今回の解答例では素数であるかどうかを返す関数としてみました.素数かどうかを聞く関数で,素数であれば True を,素数でなければ False をリターンで返す仕様です.解答例
1から100までの整数をランダムに5個発生させて,それらのうちの偶数どうしと奇数どうしの組を表示するプログラムを作成しましょう.ペアを表示する部分を関数とするものと,ペアを探すことだけを関数とする方法がありますが,いずれにしても偶数用と奇数用の2つの関数にします.
Numbers: 99 31 25 76 68 Even pairs: 76-68 Odd pairs: 99-31 99-25 31-25 |
表示させる関数とする場合には戻り値はありません.解答例1(表示させる関数)
return でペアを返す関数の場合には,2次元リストでペアを返します.
また,今回は値の重複は気にしないこととします.
授業で説明した関数を一つにまとめる方法ですが,参考までに紹介します.
解答例1(表示させる関数)