開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Visual Studio Code (Text Editor)
- Python 3.7 (プログラミング言語)
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 コメント:
コメントを投稿