2019年6月6日木曜日

開発環境

Head First はじめてのプログラミング ―頭とからだで覚えるPythonプログラミング入門 (Eric Freeman(著)、嶋田 健志(監修)、木下 哲也(翻訳)、株式会社オライリー・ジャパン)をおまけの章(ソートと入れ子の反復 - リストに戻って強力な能力を追加する - データを整理する)の自分で考えてみよう(230ページ)の解答を求めてみる。

コード

Python 3

#!/usr/bin/env python3
from unittest import TestCase, main


class MyTestCase(TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test(self):
        fruits = ['coconut', 'strawberry', 'banana', 'pineapple']
        print(fruits)
        n = len(fruits)
        for i in range(1, n):
            for j in range(n - i):
                if fruits[j] > fruits[j + 1]:
                    fruits[j], fruits[j + 1] = fruits[j + 1], fruits[j]
                    print(fruits)
        self.assertEqual(fruits,
                         ['banana', 'coconut', 'pineapple', 'strawberry'])


if __name__ == '__main__':
    main()

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

C:\Users\...>py sample1.py
['coconut', 'strawberry', 'banana', 'pineapple']
['coconut', 'banana', 'strawberry', 'pineapple']
['coconut', 'banana', 'pineapple', 'strawberry']
['banana', 'coconut', 'pineapple', 'strawberry']
.
----------------------------------------------------------------------
Ran 1 test in 0.000s

OK

C:\Users\...>

0 コメント:

コメントを投稿