2020年4月6日月曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第5章(連立方程式と高次方程式)、1(連立1次方程式)、問5の解答を求めてみる。


  1. 100万円を a 円、 b 円の2口に分けたとする。

    問題仮定より、

    { a + b = 100 3 100 a + 5 100 b = 4.5

    この連立2元1次方程式の解を求める。

    3 a + 5 b = 450 3 a + 3 b = 300 2 b = 150 b = 75 a = 25

    よって25万円と75万円の 2口に分け、25万円を年3分、75万円と年5分の利率で預金した。

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Rational, solve

print('5.')

a = 25
b = 75


class Test(TestCase):
    def test_total(self):
        self.assertEqual(a + b, 100)

    def test_interest(self):
        self.assertEqual(a * Rational(3, 100) + b * Rational(5, 100), 4.5)

    def test_solve(self):
        a, b = symbols('a, b')
        s = solve([a + b - 100, a * Rational(3, 100) +
                   b * Rational(5, 100) - Rational(45, 10)])
        self.assertEqual(s, {a: 25, b: 75})


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample5.py -v
5.
test_interest (__main__.Test) ... ok
test_solve (__main__.Test) ... ok
test_total (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.056s

OK
%

0 コメント:

コメントを投稿