diff options
| author | Lubos Kolouch <lubos@kolouch.net> | 2023-08-09 12:39:40 +0200 |
|---|---|---|
| committer | Lubos Kolouch <lubos@kolouch.net> | 2023-08-09 12:39:40 +0200 |
| commit | 6f9fec607aa22cf59755dd9839cc513e889b3090 (patch) | |
| tree | 803e8bc03e43f73b4785bd4e710d32e55c9a08e4 /challenge-197/lubos-kolouch/python | |
| parent | ec6da3d64ef535445c423ac7fd687d7074df0d79 (diff) | |
| download | perlweeklychallenge-club-6f9fec607aa22cf59755dd9839cc513e889b3090.tar.gz perlweeklychallenge-club-6f9fec607aa22cf59755dd9839cc513e889b3090.tar.bz2 perlweeklychallenge-club-6f9fec607aa22cf59755dd9839cc513e889b3090.zip | |
feat(challenge-197/lubos-kolouch/): Challenge 197 LK Perl Python Blog
Diffstat (limited to 'challenge-197/lubos-kolouch/python')
| -rw-r--r-- | challenge-197/lubos-kolouch/python/ch-1.py | 15 | ||||
| -rw-r--r-- | challenge-197/lubos-kolouch/python/ch-2.py | 21 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-197/lubos-kolouch/python/ch-1.py b/challenge-197/lubos-kolouch/python/ch-1.py new file mode 100644 index 0000000000..9d04def6a4 --- /dev/null +++ b/challenge-197/lubos-kolouch/python/ch-1.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +def move_zeros(lst): + non_zeros = [x for x in lst if x != 0] + zeros_count = len(lst) - len(non_zeros) + return non_zeros + [0] * zeros_count + + +# Test cases +assert move_zeros([1, 0, 3, 0, 0, 5]) == [1, 3, 5, 0, 0, 0], "Example 1" +assert move_zeros([1, 6, 4]) == [1, 6, 4], "Example 2" +assert move_zeros([0, 1, 0, 2, 0]) == [1, 2, 0, 0, 0], "Example 3" + +print("All tests passed!") diff --git a/challenge-197/lubos-kolouch/python/ch-2.py b/challenge-197/lubos-kolouch/python/ch-2.py new file mode 100644 index 0000000000..d53d9a9f4d --- /dev/null +++ b/challenge-197/lubos-kolouch/python/ch-2.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import unittest + + +def wiggle_sort(lst): + for i in range(len(lst) - 1): + if (i % 2 == 0 and lst[i] > lst[i + 1]) or (i % 2 == 1 and lst[i] < lst[i + 1]): + lst[i], lst[i + 1] = lst[i + 1], lst[i] + return lst + + +class TestWiggleSort(unittest.TestCase): + def test_cases(self): + self.assertEqual(wiggle_sort([1, 5, 1, 1, 6, 4]), [1, 5, 1, 6, 1, 4]) + self.assertEqual(wiggle_sort([1, 3, 2, 2, 3, 1]), [1, 3, 2, 3, 1, 2]) + + +if __name__ == '__main__': + unittest.main() |
