Python 練習例76

Python 100例

問題:関数を作成し、nが偶数の場合は関数を呼び出して1/2+1/4+...+1/nを求め、nが奇数の場合は関数を呼び出して1/1+1/3+...+1/nを求める。

プログラム分析:なし。

プログラムのソースコード:

実例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- def peven(n): i = 0 s = 0.0 for i in range(2,n + 1,2): s += 1.0 / i # Pythonでは、整数を整数で割ると整数しか得られないため、浮動小数点数 1.0 を使う必要があります。 return s def podd(n): s = 0.0 for i in range(1, n + 1,2): s += 1.0 / i # Pythonでは、整数を整数で割ると整数しか得られないため、浮動小数点数 1.0 を使う必要があります。 return s def dcall(fp,n): s = fp(n) return s if __name__ == '__main__': n = int(raw_input('input a number:\n')) if n % 2 == 0: sum = dcall(peven,n) else: sum = dcall(podd,n) print sum

上記の実例の出力結果は:

input a number:
6
0.916666666667

Python 100例

その他の拡張