Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

数列。いろいろな数列といろいろな階差数列。(Python 3: リスト内包表記、スライス, 逆順、[::-1])

使用するライブラリ

なし

Python 3 コード

sequences9.py

#!/usr/bin/env python3


"""(docstring)
"""


def print_math_ploblems():
    """(docstring)
    """
    print("""問題:

以下の数列を作成し、その階差数列をそれぞれ求めよ。

(1) 0, 3, 6, 9, 12, 15, 18

(2) 0, -3, -6, -9, -12, -15

(3) 16, 14, 12, 10, 8, 6
""")


def solutions():
    """(docstring)
    """
    print('解答例:\n')

    res1_1 = [i for i in range(0, 19, 3)]
    # or
    # res1_1 = [i for i in range(0, 19) if i % 3 == 0]
    print('(1)\n0 から 18 までの数列: ', res1_1)
    #
    res1_2 = [i-i+3 for i in range(0, 18, 3)]
    # or
    # res1_2 = [3 for i in range(0, 18, 3)]
    print('その階差数列: ', res1_2)
    print('')

    res2_1 = [i for i in range(-15, 1, 3)]
    # or
    # res2_1 = [i for i in range(-15, 1) if i % 3 == 0]
    print('(2)\n0 から -15 までの数列: ', res2_1[::-1])
    # or
    # reverse(), reversed()
    #
    res2_2 = [i-i-3 for i in range(-15, 0, 3)]
    # or
    # res2_2 = [-3 for i in range(-15, 1, 3)]
    print('その階差数列: ', res2_2)
    print('')

    res3_1 = [i for i in range(6, 17, 2)]
    # or
    # res3 = [i for i in range(6, 17) if i % 2 == 0]
    print('(3)\n16 から 6 までの数列: ', res3_1[::-1])
    # or
    # reverse(), reversed()
    #
    res3_2 = [i-i-2 for i in range(6, 16, 2)]
    # or
    # res3_2 = [-2 for i in range(6, 16, 2)]
    print('その階差数列: ', res3_2)


if __name__ == '__main__':
    print_math_ploblems()
    print('-'*79)
    solutions()

出力

$ python3 sequences9.py
問題:

以下の数列を作成し、その階差数列をそれぞれ求めよ。

(1) 0, 3, 6, 9, 12, 15, 18

(2) 0, -3, -6, -9, -12, -15

(3) 16, 14, 12, 10, 8, 6

-------------------------------------------------------------------------------
解答例:

(1)
0 から 18 までの数列:  [0, 3, 6, 9, 12, 15, 18]
その階差数列:  [3, 3, 3, 3, 3, 3]

(2)
0 から -15 までの数列:  [0, -3, -6, -9, -12, -15]
その階差数列:  [-3, -3, -3, -3, -3]

(3)
16 から 6 までの数列:  [16, 14, 12, 10, 8, 6]
その階差数列:  [-2, -2, -2, -2, -2]

参考文献 (数式等を参考)

関連過去記事

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com

py3math.hatenablog.com