2019年1月29日火曜日

開発環境

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング (Al Sweigart(著)、相川 愛三(翻訳)、オライリージャパン)の第I部(Pythonプログラミングの基礎)、3章(関数)、3.11(演習プロジェクト)、3.11.1(コラッツ数列)の解答を求めてみる。

コード

Python 3

#!/usr/bin/env python3
def collatz(number: int) -> None:
    if number % 2 == 0:
        return int(number / 2)
    return 3 * number + 1


if __name__ == '__main__':
    # n = int(input('整数を入力してください: '))
    # while n != 1:
    #     print(n)
    #     n = collatz(n)
    # print(n)
    for n in range(1, 11):
        print('-' * 10)
        print(f'n = {n}')
        while n != 1:
            print(f'{n:>2d}')
            n = collatz(n)
        print(f'{n:>2d}')

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

$ python3 sample1.py
----------
n = 1
 1
----------
n = 2
 2
 1
----------
n = 3
 3
10
 5
16
 8
 4
 2
 1
----------
n = 4
 4
 2
 1
----------
n = 5
 5
16
 8
 4
 2
 1
----------
n = 6
 6
 3
10
 5
16
 8
 4
 2
 1
----------
n = 7
 7
22
11
34
17
52
26
13
40
20
10
 5
16
 8
 4
 2
 1
----------
n = 8
 8
 4
 2
 1
----------
n = 9
 9
28
14
 7
22
11
34
17
52
26
13
40
20
10
 5
16
 8
 4
 2
 1
----------
n = 10
10
 5
16
 8
 4
 2
 1
$

0 コメント:

コメントを投稿