2019年2月2日土曜日

開発環境

Math Adventures with Python: An Illustrated Guide to Exploring Math with Code (Peter Farrell(著)、No Starch Press)のPART 2(RIDING INTO MATH TERRITORY)、4(TRANSFORMING AND STORING NUMBERS WITH ALGEBRA)、EXERCISE 4-3(FINDING MORE ROOTS)の解答を求めてみる。

コード

Python 3

#!/usr/bin/env python3
def f(x):
    return 2 * x ** 2 + 7 * x - 15


def average(*nums):
    return sum(nums) / len(nums)


def guess():
    lower = 1
    upper = 2
    for i in range(20):
        mid = average(lower, upper)
        y = f(mid)
        if y == 0:
            return mid
        elif y < 0:
            lower = mid
        else:
            upper = mid
    return mid


print(-5, f(-5))

x = guess()
print(x, f(x))

入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))

$ python3 sample1.py
-5 0
1.5 0.0
$

0 コメント:

コメントを投稿