**関数
- 数学からのアナロジーでいえば, xに対してyをただひとつ決めるのが関数であり, y = f(x) の形で表示することが多い。
- プログラミングでの関数は, もう少し幅広く, 入力値に対して一定の処理をするまとまりを関数と表現し, 値を返す場合には, returnで, 戻り値を指定する。
- たとえば, 次はnに対してn!を返す関数 kaijo を組み込んでいるプログラム
def kaijo(n):
x = 1
for i in range(1,n+1):
x = x*i
return x
print (kaijo(10))
**なんでエラー?
print (kaijo(10))
def kaijo(n):
x = 1
for i in range(1,n+1):
x = x*i
return x
** ローカル変数とグローバル変数
-関数内部で使われている変数は, 関数の内部だけで通用します。
-別の関数で同じ変数名が使われていてもそれは別の変数として動作します。
-ルートの部分で使用されている変数は, どこでも参照できます。
*** どんな動作をする?
def kaijo(n):
n0=100
print(num)
x = 1
for i in range(1,n+1):
x = x*i
return x
num=123
print (kaijo(10))
print(n0)
**練習問題
- 整数nに対して, nの約数の和を返す関数 sumOfDivisors(n)
- 整数nに対して, nの約数の個数を返す numOfDivisors(n)
- 整数nに対して, 「素数」ならtrue, そうでなければ falseを返す isPrime(n)
- 整数nに対して, 「完全数」かどうかを返す isPerfect(n)