From 03f04fbc4ca9556cb76681d14bd6d4ba84c50da6 Mon Sep 17 00:00:00 2001 From: Donne Martin Date: Sat, 11 Jul 2015 15:35:12 -0400 Subject: [PATCH] Fix #13, PEP8-ify notebooks. --- .../insertion_sort_challenge.ipynb | 14 +++++++---- .../insertion_sort_solution.ipynb | 14 +++++++---- .../insertion_sort/test_insertion_sort.py | 13 +++++++--- .../merge_sort/merge_sort_challenge.ipynb | 5 ++-- .../merge_sort/merge_sort_solution.ipynb | 5 +++- .../merge_sort/test_merge_sort.py | 4 ++- .../quick_sort/quick_sort_challenge.ipynb | 7 +++--- .../quick_sort/quick_sort_solution.ipynb | 25 ++++++++++--------- .../quick_sort/test_quick_sort.py | 6 +++-- .../selection_sort_challenge.ipynb | 7 +++--- .../selection_sort_solution.ipynb | 8 +++--- .../selection_sort/test_selection_sort.py | 6 +++-- 12 files changed, 71 insertions(+), 43 deletions(-) diff --git a/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb b/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb index c8a7f69..9976d09 100644 --- a/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb +++ b/sorting_searching/insertion_sort/insertion_sort_challenge.ipynb @@ -34,7 +34,6 @@ "source": [ "## Constraints\n", "\n", - "* Is a naiive solution sufficient?\n", " * Yes" ] @@ -103,7 +102,7 @@ "\n", "\n", "class TestInsertionSort(object):\n", - " \n", + "\n", " def test_insertion_sort(self):\n", " print('Empty input')\n", " data = []\n", @@ -119,12 +118,17 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " insertion_sort(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_insertion_sort')\n", "\n", - "if __name__ == '__main__':\n", + "\n", + "def main():\n", " test = TestInsertionSort()\n", - " test.test_insertion_sort()" + " test.test_insertion_sort()\n", + "\n", + "\n", + "if __name__ == '__main__':\n", + " main()" ] }, { diff --git a/sorting_searching/insertion_sort/insertion_sort_solution.ipynb b/sorting_searching/insertion_sort/insertion_sort_solution.ipynb index 83314b7..f136447 100644 --- a/sorting_searching/insertion_sort/insertion_sort_solution.ipynb +++ b/sorting_searching/insertion_sort/insertion_sort_solution.ipynb @@ -33,7 +33,6 @@ "source": [ "## Constraints\n", "\n", - "* Is a naiive solution sufficient?\n", " * Yes" ] @@ -126,7 +125,7 @@ "\n", "\n", "class TestInsertionSort(object):\n", - " \n", + "\n", " def test_insertion_sort(self):\n", " print('Empty input')\n", " data = []\n", @@ -142,12 +141,17 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " insertion_sort(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_insertion_sort')\n", "\n", - "if __name__ == '__main__':\n", + "\n", + "def main():\n", " test = TestInsertionSort()\n", - " test.test_insertion_sort()" + " test.test_insertion_sort()\n", + "\n", + "\n", + "if __name__ == '__main__':\n", + " main()" ] }, { diff --git a/sorting_searching/insertion_sort/test_insertion_sort.py b/sorting_searching/insertion_sort/test_insertion_sort.py index 71d1de3..7b4e85f 100644 --- a/sorting_searching/insertion_sort/test_insertion_sort.py +++ b/sorting_searching/insertion_sort/test_insertion_sort.py @@ -2,7 +2,7 @@ from nose.tools import assert_equal class TestInsertionSort(object): - + def test_insertion_sort(self): print('Empty input') data = [] @@ -18,9 +18,14 @@ class TestInsertionSort(object): data = [5, 1, 7, 2, 6, -3, 5, 7, -1] insertion_sort(data) assert_equal(data, sorted(data)) - + print('Success: test_insertion_sort') -if __name__ == '__main__': + +def main(): test = TestInsertionSort() - test.test_insertion_sort() \ No newline at end of file + test.test_insertion_sort() + + +if __name__ == '__main__': + main() \ No newline at end of file diff --git a/sorting_searching/merge_sort/merge_sort_challenge.ipynb b/sorting_searching/merge_sort/merge_sort_challenge.ipynb index bc830a5..ea45a2d 100644 --- a/sorting_searching/merge_sort/merge_sort_challenge.ipynb +++ b/sorting_searching/merge_sort/merge_sort_challenge.ipynb @@ -34,7 +34,6 @@ "source": [ "## Constraints\n", "\n", - "* Is a naiive solution sufficient?\n", " * Yes" ] @@ -119,13 +118,15 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " data = merge_sort(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_merge_sort')\n", "\n", + "\n", "def main():\n", " test = TestMergeSort()\n", " test.test_merge_sort()\n", "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] diff --git a/sorting_searching/merge_sort/merge_sort_solution.ipynb b/sorting_searching/merge_sort/merge_sort_solution.ipynb index fbc7ef4..14fed90 100644 --- a/sorting_searching/merge_sort/merge_sort_solution.ipynb +++ b/sorting_searching/merge_sort/merge_sort_solution.ipynb @@ -110,6 +110,7 @@ " r += 1\n", " return result\n", "\n", + "\n", "def merge_sort(data):\n", " if len(data) < 2:\n", " return data\n", @@ -165,13 +166,15 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " data = merge_sort(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_merge_sort')\n", "\n", + "\n", "def main():\n", " test = TestMergeSort()\n", " test.test_merge_sort()\n", "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] diff --git a/sorting_searching/merge_sort/test_merge_sort.py b/sorting_searching/merge_sort/test_merge_sort.py index 536c9c4..a68cd54 100644 --- a/sorting_searching/merge_sort/test_merge_sort.py +++ b/sorting_searching/merge_sort/test_merge_sort.py @@ -17,12 +17,14 @@ class TestMergeSort(object): data = [5, 1, 7, 2, 6, -3, 5, 7, -1] data = merge_sort(data) assert_equal(data, sorted(data)) - + print('Success: test_merge_sort') + def main(): test = TestMergeSort() test.test_merge_sort() + if __name__ == '__main__': main() \ No newline at end of file diff --git a/sorting_searching/quick_sort/quick_sort_challenge.ipynb b/sorting_searching/quick_sort/quick_sort_challenge.ipynb index 3e14a45..65e04c9 100644 --- a/sorting_searching/quick_sort/quick_sort_challenge.ipynb +++ b/sorting_searching/quick_sort/quick_sort_challenge.ipynb @@ -34,7 +34,6 @@ "source": [ "## Constraints\n", "\n", - "* Is a naiive solution sufficient (ie not in-place)?\n", " * Yes" ] @@ -118,9 +117,10 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " data = func(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_quick_sort\\n')\n", "\n", + "\n", "def main():\n", " test = TestQuickSort()\n", " test.test_quick_sort(quick_sort)\n", @@ -130,7 +130,8 @@ " # Alternate solutions are only defined\n", " # in the solutions file\n", " pass\n", - " \n", + "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] diff --git a/sorting_searching/quick_sort/quick_sort_solution.ipynb b/sorting_searching/quick_sort/quick_sort_solution.ipynb index 1304015..e06db1f 100644 --- a/sorting_searching/quick_sort/quick_sort_solution.ipynb +++ b/sorting_searching/quick_sort/quick_sort_solution.ipynb @@ -89,6 +89,7 @@ "source": [ "from __future__ import division\n", "\n", + "\n", "def quick_sort(data):\n", " if len(data) < 2:\n", " return data\n", @@ -96,7 +97,7 @@ " right = []\n", " pivot_index = len(data) // 2\n", " pivot_value = data[pivot_index]\n", - " \n", + "\n", " # Build the left and right partitions\n", " for i in range(0, len(data)):\n", " if i == pivot_index:\n", @@ -105,7 +106,7 @@ " left.append(data[i])\n", " else:\n", " right.append(data[i])\n", - " \n", + "\n", " # Recursively apply quick_sort\n", " left = quick_sort(left)\n", " right = quick_sort(right)\n", @@ -118,9 +119,7 @@ "source": [ "## Pythonic-Code\n", "\n", - "From http://stackoverflow.com/questions/18262306/quick-sort-with-python\n", - "\n", - "The following code is very concise, although it might be a little difficult to read:" + "The following code from [Stack Overflow](http://stackoverflow.com/questions/18262306/quick-sort-with-python) is very concise, although it might be a little difficult to read:" ] }, { @@ -131,11 +130,11 @@ }, "outputs": [], "source": [ - "def quick_sort_alt(arr): \n", - " if len(arr) <= 1:\n", - " return arr\n", - " else:\n", - " return quick_sort_alt([x for x in arr[1:] if x=arr[0]])" + "def quick_sort_alt(arr):\n", + " if len(arr) <= 1:\n", + " return arr\n", + " else:\n", + " return quick_sort_alt([x for x in arr[1:] if x < arr[0]]) + [arr[0]] + quick_sort_alt([x for x in arr[1:] if x >= arr[0]])" ] }, { @@ -182,9 +181,10 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " data = func(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_quick_sort\\n')\n", "\n", + "\n", "def main():\n", " test = TestQuickSort()\n", " test.test_quick_sort(quick_sort)\n", @@ -194,7 +194,8 @@ " # Alternate solutions are only defined\n", " # in the solutions file\n", " pass\n", - " \n", + "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] diff --git a/sorting_searching/quick_sort/test_quick_sort.py b/sorting_searching/quick_sort/test_quick_sort.py index ffa1937..3da236d 100644 --- a/sorting_searching/quick_sort/test_quick_sort.py +++ b/sorting_searching/quick_sort/test_quick_sort.py @@ -17,9 +17,10 @@ class TestQuickSort(object): data = [5, 1, 7, 2, 6, -3, 5, 7, -1] data = func(data) assert_equal(data, sorted(data)) - + print('Success: test_quick_sort\n') + def main(): test = TestQuickSort() test.test_quick_sort(quick_sort) @@ -29,6 +30,7 @@ def main(): # Alternate solutions are only defined # in the solutions file pass - + + if __name__ == '__main__': main() \ No newline at end of file diff --git a/sorting_searching/selection_sort/selection_sort_challenge.ipynb b/sorting_searching/selection_sort/selection_sort_challenge.ipynb index e34e41c..552f470 100644 --- a/sorting_searching/selection_sort/selection_sort_challenge.ipynb +++ b/sorting_searching/selection_sort/selection_sort_challenge.ipynb @@ -34,7 +34,6 @@ "source": [ "## Constraints\n", "\n", - "* Is a naiive solution sufficient (ie not stable, not based on a heap)?\n", " * Yes" ] @@ -116,7 +115,7 @@ "\n", "\n", "class TestSelectionSort(object):\n", - " \n", + "\n", " def test_selection_sort(self, func):\n", " print('Empty input')\n", " data = []\n", @@ -132,9 +131,10 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " func(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_selection_sort\\n')\n", "\n", + "\n", "def main():\n", " test = TestSelectionSort()\n", " test.test_selection_sort(selection_sort)\n", @@ -145,6 +145,7 @@ " # in the solutions file\n", " pass\n", "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] diff --git a/sorting_searching/selection_sort/selection_sort_solution.ipynb b/sorting_searching/selection_sort/selection_sort_solution.ipynb index 2ae7778..2f0a9c2 100644 --- a/sorting_searching/selection_sort/selection_sort_solution.ipynb +++ b/sorting_searching/selection_sort/selection_sort_solution.ipynb @@ -33,7 +33,6 @@ "source": [ "## Constraints\n", "\n", - "* Is a naiive solution sufficient (ie not stable, not based on a heap)?\n", " * Yes" ] @@ -91,6 +90,7 @@ " min_index = i\n", " return min_index\n", "\n", + "\n", "def swap(data, i, j):\n", " if (i != j):\n", " data[i], data[j] = data[j], data[i]" @@ -154,7 +154,7 @@ "\n", "\n", "class TestSelectionSort(object):\n", - " \n", + "\n", " def test_selection_sort(self, func):\n", " print('Empty input')\n", " data = []\n", @@ -170,9 +170,10 @@ " data = [5, 1, 7, 2, 6, -3, 5, 7, -1]\n", " func(data)\n", " assert_equal(data, sorted(data))\n", - " \n", + "\n", " print('Success: test_selection_sort\\n')\n", "\n", + "\n", "def main():\n", " test = TestSelectionSort()\n", " test.test_selection_sort(selection_sort)\n", @@ -183,6 +184,7 @@ " # in the solutions file\n", " pass\n", "\n", + "\n", "if __name__ == '__main__':\n", " main()" ] diff --git a/sorting_searching/selection_sort/test_selection_sort.py b/sorting_searching/selection_sort/test_selection_sort.py index ad287bb..4b59e59 100644 --- a/sorting_searching/selection_sort/test_selection_sort.py +++ b/sorting_searching/selection_sort/test_selection_sort.py @@ -2,7 +2,7 @@ from nose.tools import assert_equal class TestSelectionSort(object): - + def test_selection_sort(self, func): print('Empty input') data = [] @@ -18,9 +18,10 @@ class TestSelectionSort(object): data = [5, 1, 7, 2, 6, -3, 5, 7, -1] func(data) assert_equal(data, sorted(data)) - + print('Success: test_selection_sort\n') + def main(): test = TestSelectionSort() test.test_selection_sort(selection_sort) @@ -31,5 +32,6 @@ def main(): # in the solutions file pass + if __name__ == '__main__': main() \ No newline at end of file